如何告诉Axis WSDL2Java从JAR获取WSDLs?

如何告诉Axis WSDL2Java从JAR获取WSDLs?,java,wsdl,classpath,axis,wsdl2java,Java,Wsdl,Classpath,Axis,Wsdl2java,我有一个maven项目,其中我使用Codehaus Axis工具插件运行WSDL2Java 不幸的是,我不能直接控制我的wsdl——它们是在我的Maven存储库中的JAR中提供给我的。我的项目对WSDLJAR具有Maven依赖性,因此WSDL文件是我的类路径中的资源 是否可以将WSDL2Java配置为从JAR中提取WSDL文件?或者更具体地说,从资源类路径 查看Codehaus的文档(http://mojo.codehaus.org/axistools-maven-plugin/wsdl2jav

我有一个maven项目,其中我使用Codehaus Axis工具插件运行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>

myGroupId
myArtifactId
我的版本
myFile.wsdl


myGroupId
myArtifactId
我的版本
myFile.wsdl
其中,
myFile.wsdl
是由依赖项标识的JAR中的一个资源,位于插件的配置中,但没有任何用处

因为
在Maven中不是强类型的,所以很难弄清楚到底发生了什么或不发生了什么


更新:我不一定需要使用Axis。我也可以使用其他框架的WSDL-to-Java生成工具来创建存根,如果它支持将WSDL文件作为类路径上的资源来读取的话。有什么建议吗?

您可以这样尝试:

<sourceDependencies>
  <sourceDependency>
    yourGroupId:yourArtifactId:yourVersion:yourFile.wsdl
  </sourceDependency>
</sourceDependecies>

yourGroupId:yourArtifactId:yourVersion:yourFile.wsdl

多么可怕啊

解压你的罐子会是一种选择吗?您可以为此创建一些ant任务。我可以解压JAR,但它似乎有点复杂。包含wsdl的JAR还包含类和xsd,它们是我的项目的依赖项,因此它位于类路径中。
<sourceDependencies>
  <sourceDependency>
    yourGroupId:yourArtifactId:yourVersion:yourFile.wsdl
  </sourceDependency>
</sourceDependecies>