2012-04-09 201 views
7

我試圖使用wsimport從WSDL生成類。在Maven構建期間Wsimport失敗

我使用的Netbeans(7.1)產生的Maven的POP,但我得到下面的輸出,當我試圖建立它:

[jaxws:wsimport] 
Processing: C:\Users\...\src\wsdl\ShipService_v5.wsdl 
jaxws:wsimport args: [-s, C:\Users\...\target\generated-sources\jaxws-wsimport, -d, C:\Users\...\target\classes, -verbose, -catalog, C:\Users\...\src\jax-ws-catalog.xml, -wsdllocation, file:/C:/Users/.../Desktop/ShipService_v5.wsdl, -extension, -Xnocompile, C:\Users\...\src\wsdl\ShipService_v5.wsdl] 
parsing WSDL... 

------------------------------------------------------------------------ 
BUILD FAILURE 
------------------------------------------------------------------------ 
Total time: 1.361s 
Finished at: Mon Apr 09 12:51:52 BST 2012 
Final Memory: 4M/120M 
------------------------------------------------------------------------ 
Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.10:wsimport (wsimport-generate-ShipService_v5) on project RPDataStreams: Error executing: wsimport [-s, C:\Users\...\target\generated-sources\jaxws-wsimport, -d, C:\Users\...\target\classes, -verbose, -catalog, C:\Users\...\src\jax-ws-catalog.xml, -wsdllocation, file:/C:/Users/.../Desktop/ShipService_v5.wsdl, -extension, -Xnocompile, C:\Users\...\src\wsdl\ShipService_v5.wsdl] -> [Help 1] 

從我的POM插件部分是:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>jaxws-maven-plugin</artifactId> 
    <version>1.10</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>wsimport</goal> 
      </goals> 
      <configuration> 
       <wsdlFiles> 
        <wsdlFile>ShipService_v5.wsdl</wsdlFile> 
       </wsdlFiles> 
       <wsdlLocation>file:/C:/Users/.../Desktop/ShipService_v5.wsdl</wsdlLocation> 
       <staleFile>${project.build.directory}/jaxws/stale/ShipService_v5.stale</staleFile> 
      </configuration> 
      <id>wsimport-generate-ShipService_v5</id> 
      <phase>generate-sources</phase> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>javax.xml</groupId> 
      <artifactId>webservices-api</artifactId> 
      <version>1.4</version> 
     </dependency> 
    </dependencies> 
    <configuration> 
     <sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir> 
     <xnocompile>true</xnocompile> 
     <verbose>true</verbose> 
     <extension>true</extension> 
     <catalog>${basedir}/src/jax-ws-catalog.xml</catalog> 
    </configuration> 
</plugin> 

我知道我使用的WSDL沒有問題,我也嘗試了使用來自http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl的WSDL。

我試過從Netbeans和Ubuntu服務器的命令行上構建這個項目,兩次都得到相同的結果。

我現在已經縮小到了jconfig的依賴關係。如果我將下面的塊註釋掉,那麼Web服務源將成功構建。

<dependency> 
     <groupId>org.jconfig</groupId> 
     <artifactId>jconfig</artifactId> 
     <version>2.9</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jmxri</artifactId> 
       <groupId>com.sun.jmx</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

感謝您的幫助。

+0

用-X運行maven - 希望你能從jaxws插件中獲得更多的信息。 – tdrury 2012-04-09 15:22:14

+0

'C:/ Users /.../ src /'中的三個點看起來不對,或者是某種新的窗口功能? – 2012-04-09 16:47:05

+0

......只是去掉完整路徑。 使用-X運行不會提供任何有用的信息。 我已經刪除了jconfig的依賴關係,並將其替換爲Commons Configuration(我認爲它更好),現在構建項目。 – jebbench 2012-04-10 08:29:32

回答

6

你應該使用:

<groupId>org.jvnet.jax-ws-commons</groupId> 
<artifactId>jaxws-maven-plugin</artifactId> 
<version>2.2</version> 

這是最新的版本(注意插件得到搬到org.jvnet.jax-WS-公地)

編輯:

你可以嘗試有選擇地排除jconfig構建依賴關係。完整的列表如下:

<dependency> 
    <groupId>org.jconfig</groupId> 
    <artifactId>jconfig</artifactId> 
    <version>2.9</version> 
    <exclusions> 
     <exclusion> 
      <groupId>com.sun.jmx</groupId> 
      <artifactId>jmxri</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>javax.xml.parsers</groupId> 
      <artifactId>jaxp-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>crimson</groupId> 
      <artifactId>crimson</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

編輯:你實際上需要jconfig嗎?如果沒有,只是擺脫它。

+0

我已經按照建議更新了我的POM,但是我得到了和以前相同的結果。刪除JConfig依賴項將允許項目生成。 – jebbench 2012-04-10 08:34:16

+1

將jaxws-maven-plugin的版本遞增到2.2解決了同樣的問題 - 謝謝。 – s1mm0t 2012-05-02 15:11:08

0

在項目的運行配置的JRE選項卡中,選擇備用JRE並添加安裝JDK的路徑。 對我來說,這樣做解決了這個問題。