2012-04-09 48 views
7

Estoy tratando de usar wsimport para generar clases desde un WSDL.Wsimport falla durante la compilación de Maven

estoy usando el POP Maven generado por Netbeans (7.1) pero me da el siguiente resultado cuando intento para construirlo:

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

La sección Plugin de mi POM es:

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

Sé que no hay nada de malo con el WSDL que estoy usando, también lo probé con el WSDL desde http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl.

He intentado construir este proyecto desde Netbeans y en la línea de comandos desde un servidor Ubuntu, las dos veces obtengo el mismo resultado.

Ahora he reducido esto a la dependencia de jconfig. Si desapruebo el bloque a continuación, las fuentes del servicio web se compilan correctamente.

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

Gracias por la ayuda.

+0

ejecuta maven con -X - con suerte obtendrás más información del plugin jaxws. – tdrury

+0

Los tres puntos en 'C:/Users /.../ src /' se ven mal, ¿o es algún tipo de característica nueva de Windows? –

+0

El ... es solo para quitar el camino completo. Correr con -X no proporciona ninguna información útil. He eliminado la dependencia jconfig y la he sustituido por la Configuración de Commons (que creo que es mejor de todos modos) y el proyecto se compila ahora. – jebbench

Respuesta

6

Deberá utilizar:

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

que es la versión más reciente (observe que el plug-in nos pasaron a org.jvnet.jax-ws-commons)

Editar:

Usted podría intente excluir selectivamente las dependencias de compilación jconfig. La lista completa se parece a:

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

Editar: ¿realmente necesita jconfig? Si no, solo deshazte de él.

+0

He actualizado mi POM según lo sugerido, pero obtengo el mismo resultado que anteriormente. Eliminar la dependencia de JConfig permitirá que el proyecto se construya. – jebbench

+1

Incrementar la versión de jaxws-maven-plugin a 2.2 resolvió el mismo problema para mí, gracias. – s1mm0t

0

En la pestaña JRE de configuración de ejecución de su proyecto, seleccionar el JRE alternativo y agregar la ruta del JDK instalado. Para mí, esto solucionó el problema.

Cuestiones relacionadas