我有一个maven项目,我在其中使用Codehaus Axis Tools插件来运行WSDL2Java。
不幸的是,我不能直接控制我的WSDL——它们是在我的Maven存储库中的JAR中提供给我的。我的项目对WSDLJAR有一个Maven依赖项,因此WSDL文件是我的类路径中的资源。
是否可以将WSDL2Java配置为从JAR中获取WSDL文件?或者更具体地说,从资源到类路径?
查看Codehaus的文档(http://mojo.codehaus.org/axistools-maven-plugin/wsdl2java-mojo.html),我看到有两个配置参数sourceDependecies
和wsdlFiles
我可以使用,但关于如何使用它们的信息不多。
我试过以下
<sourceDependencies>
<sourceDependency>
<groupId>myGroupId</groupId>
<artifactId>myArtifactId</artifactId>
<version>myVersion</version>
</sourceDependency>
</sourceDependecies>
<wsdlFiles>
<wsdlFile>myFile.wsdl</wsdlFile>
</wsdlFiles>
和
<sourceDependencies>
<sourceDependency>
<groupId>myGroupId</groupId>
<artifactId>myArtifactId</artifactId>
<version>myVersion</version>
<file>myFile.wsdl</file>
</sourceDependency>
</sourceDependecies>
其中myFile.wsdl
是插件配置中由依赖项标识的JAR中的资源,但无效。
由于<configuration>
在Maven中不是强类型的,所以很难弄清楚发生了什么或没有发生什么
更新:我不一定需要使用Axis。如果它支持将WSDL文件作为类路径上的资源读取,那么我还可以使用其他框架的WSDL到Java生成工具来创建存根。有什么建议吗?
您可以这样尝试:
<sourceDependencies>
<sourceDependency>
yourGroupId:yourArtifactId:yourVersion:yourFile.wsdl
</sourceDependency>
</sourceDependecies>
多么可怕!