我有一個Maven項目,我使用Codehaus Axis Tools插件來運行WSDL2Java。如何告訴Axis WSDL2Java從JAR中獲取WSDL?
不幸的是,我沒有直接控制我的WSDL--它們在我的Maven倉庫中的JAR中提供給我。我的項目對WSDL JAR具有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生成工具來創建我的存根。任何建議?
解壓縮你的jar是否是一個選項?你可以爲此創建一些螞蟻任務。 – 2012-02-29 10:26:55
我可以解壓JAR,但看起來有些複雜。包含WSDL的JAR還包含類和XSD,它們依賴於我的項目,因此它位於類路徑中。 – Vihung 2012-02-29 10:35:07