如何告诉Axis WSDL2Java从JAR中获取WSDL



我有一个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),我看到有两个配置参数sourceDependecieswsdlFiles我可以使用,但关于如何使用它们的信息不多。

我试过以下

<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>

多么可怕!

最新更新