我发现this great tip有关向wsdl2java命令添加-fe jaxws21
以使其生成符合jaxws 2.1的代码而不是2.2,但Maven的pom.xml
似乎并不现代像这样添加喜欢这样的添加:
<goals>
<goal>wsdl2java -fe jaxws21</goal>
</goals>
为pom.xml中使用的wsdl2java指定前端的正确方法是什么?
答案 0 :(得分:13)
如果您使用的是cxf-codegen-plugin,则可以在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>
来源:http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html
答案 1 :(得分:2)
您可以在<frontEnd>
或<wsdlOption>
内使用<defaultOption>
。如果包含多个WSDL并指定<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>
答案 2 :(得分:0)
为补充@fishbone和@ tafit3的答案,另请参见Could not find jaxws21 frontend within classpath,因为看起来frontend
是在次要cxf版本中添加的。
我尝试了他们的答案,但只有在将cxf-codegen-plugin升级到2.3.11后才能正常工作