在将我们的构建从Ant切换到Maven时,我正在尝试从WSDL文件生成代码。
有一个maven-jaxws-tools-plugin
,但我总是得到一个异常。我不完全清楚这个插件另外需要哪些依赖项。
插件配置:
<plugin>
<groupId>org.jboss.ws.plugins</groupId>
<artifactId>maven-jaxws-tools-plugin</artifactId>
<version>1.1.1.Final</version>
<configuration>
<targetPackage>at.dataphone.logis3.wsdl.${projectName}</targetPackage>
<extensions>true</extensions>
<wsdls>
<wsdl>${basedir}/wsdl/DPHItemBarcodesList.wsdl</wsdl>
</wsdls>
</configuration>
<executions>
<execution>
<goals>
<goal>wsconsume</goal>
</goals>
</execution>
</executions>
</plugin>
没有其他依赖项,我得到了以下错误:
ClassNotFoundException: org.jboss.ws.api.tools.WSContractConsumer
然后我添加了以下内容:
<dependency>
<groupId>org.jboss.ws.native</groupId>
<artifactId>jbossws-native-client</artifactId>
<version>4.0.2.GA</version>
</dependency>
所以我得到了以下错误信息:
java.lang.ClassNotFoundException: com.sun.tools.ws.wscompile.WsimportTool`
如果我加入以下内容:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-tools</artifactId>
<version>2.2.7</version>
</dependency>
但是我收到了以下错误信息:
java.lang.ClassNotFoundException: org.jboss.util.xml.JBossEntityResolver 这种错误一直出现。但是我有一种感觉,不想使用所有这些编译时依赖项,并且可能需要一种方法来告诉插件我的JBoss安装及其模块。
该插件的文档很少。
有一个示例:https://developer.jboss.org/wiki/JAXWSToolsMavenPluginSample 但是
jbossws-cxf-client
不能作为依赖项,这是旧代码并使用jbossws-native。
我也不确定jboss-as-maven-plugin是否与之相关,但我不想部署,只想生成代码。 我实际上已经设置好插件,尽管它无法正常工作。 但是运行mvn jboss-as:deploy
仍然会在可以进行任何部署之前失败于jaxws-plugin。这个例子略有不同,但差别不大: https://github.com/tkobayas/example-projects/blob/master/helloworld_jaxws_cxf/pom.xml