7

我发现了这个关于添加-fe jaxws21到 wsdl2java 命令以使其生成符合 jaxws 2.1 的代码而不是 2.2 的重要提示,但是 Mavenpom.xml似乎不喜欢这样放置时的添加:

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

为 pom.xml 中使用的 wsdl2java 指定前端的正确方法是什么?

4

3 回答 3

14

如果您使用的是 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

于 2013-01-01T18:30:05.373 回答
2

您可以使用<frontEnd>inside<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>
于 2017-11-20T10:27:12.920 回答
0

为了补充@fishbone 和@tafit3 的答案,另请参阅在类路径中找不到 jaxws21 前端,因为它看起来像是frontend在次要 cxf 版本中添加的。

我尝试了他们的答案,但只有在将 cxf-codegen-plugin 升级到 2.3.11 后才能正常工作

于 2019-05-08T18:37:03.173 回答