2012-12-31 13 views
7

Ho trovato this great tip sull'aggiunta -fe jaxws21 al comando WSDL2Java per averlo generare jaxws 2.1 codice compatibile invece di 2,2, ma Maven di pom.xml non sembra gradire questa aggiunta, quando sono immessi in questo modo:Come specificare il frontend per wsdl2java in un pom.xml?

  <goals> 
       <goal>wsdl2java -fe jaxws21</goal> 
      </goals> 

Qual è il modo corretto di specificare un frontend per wsdl2java usato in un pom.xml?

risposta

12

Se si utilizza CXF-codegen-plugin, è possibile aggiungere gli argomenti in elemento extraargs:

<executions> 
    <execution> 
     <configuration> 
      <wsdlOptions> 
       <wsdlOption> 
        <wsdl>...</wsdl> 
        <extraargs> 
         <extraarg>-fe</extraarg> 
         <extraarg>jaxws21</extraarg> 
        </extraargs> 
       </wsdlOption> 
      </wsdlOptions> 
     </configuration> 
     <goals> 
      <goal>wsdl2java</goal> 
     </goals> 
    </execution> 
</executions> 

Fonte: http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html

+2

È anche possibile fare jaxws21

+0

Invece di , ho usato $ {} BASEDIR/src/main/WSDL. Ora Come posso fornire con esso? – Bhuvan

0

È possibile utilizzare <frontEnd> all'interno <wsdlOption> o <defaultOption>. Quest'ultimo è utile, se si includono più WSDL e specificato <wsdlRoot>:

<executions> 
    <execution> 
     <configuration> 
      <defaultOptions> 
       <frontEnd>jaxws21</frontEnd> 
      </defaultOptions> 
      <wsdlRoot>${basedir}/src/main/wsdl</wsdlRoot> 
      <includes> 
       <include>*.wsdl</include> 
      </includes> 
     </configuration> 
     <goals> 
      <goal>wsdl2java</goal> 
     </goals> 
    </execution> 
</executions>