我刚刚用maven成功地使用了一个名为xew的wsimport/xjc插件,使用了这 post。
在我的公司中使用Maven是一种选择,所以我尝试使用Java7SDK中的wsimport实用程序。
如何告诉wsimport在导入我的WSDL时包含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上。
发布于 2014-02-15 00:06:51
我使用Ant将WSDL转换为代码。为此,我下载了jaxws-ri版本2.2.8,并提出了下面的Ant脚本,它可以工作。现在,我可以使用maven-antrun插件来调用脚本。
<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>https://stackoverflow.com/questions/21789317
复制相似问题