2012-04-09 25 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

+0

'C:/ Users /.../ src /'の3つのドットが間違っているか、それとも何らかの新しいウィンドウ機能ですか? –

+0

...完全なパスを取り除くだけです。 -Xで実行しても、有用な情報は得られません。 私はjconfigの依存関係を削除し、Commons Configuration(それはとにかく良いと思います)に置き換えました。そしてプロジェクトは今構築されています。 – jebbench

答えて

6

:最新バージョンである

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

(プラグインが-WS-コモンズをorg.jvnet.jaxに移動してしまったことに気づく)

編集:

あなたは可能性があり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

+1

jaxws-maven-pluginのバージョンを2.2に増やすと、同じ問題が解決しました。ありがとうございます。 – s1mm0t

0

は、代替JREを選択して、インストールしたJDKのパスを追加します。 私にとって、これを行うと問題が解決しました。