我刚刚使用xew帖子成功地将名为this的wsimport / xjc插件与maven一起使用。
目前无法在我的公司使用Maven进行此操作,因此我试图使用Java 7 SDK中的wsimport实用程序。
导入WSDL时,如何告诉wsimport包含xew xjc插件?
我当前的命令行是:
wsimport -Xdebug -s src\main\java -d target\classes -extension -B-extension -B-classpath target\dependency\*:. -B-Xxew:instantiate lazy -B-Xxew:delete src\main\java\test.wsdl
但是,它不会使用-B参数:
no such JAXB option: -Xxew
。xew插件和jaxb-xjc.jar在工作目录中,并且在系统CLASSPATH上。
最佳答案
我走了过去,并使用Ant将我的WSDL转换为代码。为此,我下载了jaxws-ri版本2.2.8,并提出了以下有效的Ant脚本。现在,我可以使用maven-antrun-plugin调用脚本。
<project>
<property name="jaxws.home" location="lib/jaxws-ri" />
<path id="jaxws.classpath">
<fileset dir="${jaxws.home}/lib" includes="jaxws-tools.jar" />
</path>
<taskdef classpathref="jaxws.classpath" name="wsimport" classname="com.sun.tools.ws.ant.WsImport" />
<wsimport keep="true" sourcedestdir="src/main/java" destdir="target/classes" extension="true" wsdl="src/main/java/test.wsdl">
<xjcarg value="-cp" />
<xjcarg file="lib/commons-logging-api-1.1.jar" />
<xjcarg value="-cp" />
<xjcarg file="lib/jaxb-xew-plugin-1.1.jar" />
<xjcarg value="-Xxew" />
<xjcarg value="-Xxew:instantiate lazy"/>
<xjcarg value="-Xxew:delete"/>
</wsimport>
</project>
关于java - wsimport/xjc命令行插件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21789317/