首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAX WS中的Jaxb Xew插件

JAX WS中的Jaxb Xew插件
EN

Stack Overflow用户
提问于 2014-04-04 07:28:29
回答 5查看 8K关注 0票数 1
代码语言:javascript
复制
mvn generate-sources
[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder          org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBu
ilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building epay_api 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- jaxws-maven-plugin:2.3:wsimport (wsimport-generate-sources) @ api ---
[INFO] Processing: file:/C:/service.wsdl
[WARNING] Using platform encoding (Cp1256), build is platform dependent!
[INFO] jaxws:wsimport args: [-keep, -s, C:\api\src\main\java, -d, C:\api\target\classes,     -verbose, -Xnocompile, -B-debug, -B-no-header, -B-Xxew, -B-Xx
ew:instantiate lazy, -B-Xxew:delete, -B-extension, -B-b C:\api/src/main/res
ources/jaxb_binding.xml, "file:/C:/api/src/main/resources/service.w
sdl"]
[DEBUG] JAXB Compilation started (XmlElementWrapperPlugin.onActivated):
[DEBUG]   buildId         : 2.2.7
[DEBUG]   targetDir       : .
[DEBUG]   defaultPackage  : null
[DEBUG]   defaultPackage2 : null
[DEBUG]   debug           : true
[DEBUG]   verbose         : true
[DEBUG]   quiet           : false
[DEBUG]   grammars        : 0
[DEBUG] Argument[0] = -Xxew
[DEBUG] Argument[0] = -Xxew:instantiate
[DEBUG] Argument[0] = -Xxew:delete
parsing WSDL...


Exception in thread "main" java.lang.ClassCastException: java.lang.NoSuchMethodError     cannot be cast
to java.lang.Exception
        at org.jvnet.jax_ws_commons.jaxws.Invoker.main(Invoker.java:87)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.593 s
[INFO] Finished at: 2014-04-04T04:06:54+04:00
[INFO] Final Memory: 7M/216M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport     (wsimport-ge
nerate-sources) on project epay_api: Mojo failed - check output -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the     following arti
cles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

这是我的简单pom.xml

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>api</groupId>
<artifactId>api</artifactId>
<version>0.0.1-SNAPSHOT</version>

<build>

    <plugins>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <id>wsimport-generate-sources</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <verbose>true</verbose>
                        <sourceDestDir>src/main/java</sourceDestDir>
                        <wsdlDirectory>src/main/resources/</wsdlDirectory>
                        <wsdlLocation>src/main/resources/*</wsdlLocation>
                        <xjcArgs>
                            <xjcArg>-debug</xjcArg>
                            <xjcArg>-no-header</xjcArg>

                            <xjcArg>-Xxew</xjcArg>
                            <xjcArg>-Xxew:instantiate lazy</xjcArg>
                            <xjcArg>-Xxew:delete</xjcArg>

                            <xjcArg>-extension</xjcArg>
                            <xjcArg>-b ${basedir}/src/main/resources/jaxb_binding.xml</xjcArg>
                            <xjcArg>-XJsr303Annotations</xjcArg>
                            <!-- <xjcArg>-Xfluent-api</xjcArg> -->
                            <!-- <xjcArg>-Xvalue-constructor</xjcArg> -->
                        </xjcArgs>

                    </configuration>


                </execution>

            </executions>
            <dependencies> 
                <dependency>
                    <groupId>com.github.jaxb-xew-plugin</groupId>
                    <artifactId>jaxb-xew-plugin</artifactId>
                    <version>1.2</version>
                </dependency>

                <dependency>
                    <groupId>com.github.krasa</groupId>
                    <artifactId>krasa-jaxb-tools</artifactId>
                    <version>1.1</version>
                </dependency>
            </dependencies>
        </plugin>

    </plugins>

</build>

-e -X开关没有显示任何有关此错误的信息。

“主”.jax_ws_commons.jaxws.Invoker.main(Invoker.java:87):不能在.jax_ws_commons.jaxws.Invoker.main(Invoker.java:87)上转换java.lang.NoSuchMethodError

这是我正在尝试的最基本的配置。

C:\api>java -version java版本"1.7.0_51“Java(TM) SE运行时环境(build 1.7.0_51-b13) Java HotSpot(TM) 64位服务器VM (build 24.51-b03,混合模式)

C:\api>mvn -version Apache 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9;2014-02-14T21:37:52+04:00) Maven home: C:\Program \apache 3.2.1\bin.Java版本: 1.7.0_51,供应商: Oracle : C:\Program默认区域设置: en_US,平台编码: Cp1256 OS名称:"windows 7",版本:"6.1",arch:"amd64",系列:"windows“

我的配置有什么问题?谢谢你的帮助

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-05-15 11:01:29

根据jaxb xew插件的示例,您需要使用较新版本的jaxws maven插件。该示例使用2.3.1-b03版本,该版本也适用于我的项目。这个插件的旧版本可能是在与jaxb xew插件不兼容的库中编译的。

如果浏览示例代码历史记录,您也会发现jaxws maven插件2.2版的配置。

票数 3
EN

Stack Overflow用户

发布于 2015-09-22 21:07:48

公地-129的解决方案帮助了我:

代码语言:javascript
复制
    <configuration>
         <vmArgs>
            <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
         </vmArgs>
    </configuration>
票数 6
EN

Stack Overflow用户

发布于 2014-08-17 15:53:56

值得注意的是:我有同样的错误--使用Maven 3.2.2,并将jaxws-maven-plugin设置为2.3。这就停止了对问题的处理:

线程"main“java.lang.ClassCastException中的异常:不能将java.lang.NoSuchMethodError转换为java.lang.Exception

阅读线程和堆栈溢出帖子,似乎使用新版本的插件会有所帮助。一直移动到2.3.1-b01,一直到2.3.1-b03。这使这个问题转变为现在的结果:

java.lang.NoClassDefFoundError: org/sonatype/aether/*由: java.lang.ClassNotFoundException: org.sonatype.aether引起。

似乎在2.3.1-b03与任何Maven发行版(即>=3.1 )一起工作时,都存在一个有很好记录的问题。您可以通过搜索(其中有打开的JIRAs和bug报告)或启动这里来找到更多信息。

最后,我又回到了2.2。对于插件和这个工作没有和问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22856289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档