【问题标题】:How to prevent cxf-codegen-plugin from generating sources for all wsdl files如何防止 cxf-codegen-plugin 为所有 wsdl 文件生成源
【发布时间】:2020-05-21 17:09:30
【问题描述】:

cxf-codegen-plugin 插件有问题。我在 src/main/resources/wsdl 文件夹中有 2 个 .wsdl 文件。我希望cxf-codegen-plugin 仅为其中一个生成源:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>3.3.6</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/resources/wsdl/A.wsdl</wsdl>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

结果出乎意料,因为我也可以看到为第二个 wsdl 生成的源代码。 cxf-codegen-plugin 似乎忽略了提供的选项并为所有 wsdl 文件生成源。任何想法为什么?我错过了什么吗?

【问题讨论】:

    标签: java maven wsdl cxf


    【解决方案1】:

    我认为&lt;wsdlOptions&gt; 只是在 WSDL 级别提供选项 - 它不会选择要处理的 WSDL。

    您可以使用 &lt;wsdlRoot&gt; 和 ,&lt;includes&gt; 指定要处理的 WSDL:

    <configuration>
      ...
      <wdslRoot>${basedir}/src/main/resources/wsdl</wsdlRoot>
      <includes>
        <include>A.wsdl</include>
      </includes>
    </configuration>
    

    CXF Doco Example 5

    您可以声明一个通用的 wsdlRoot 文件夹来存储您的 WSDL 文件并使用包含/排除模式来选择要获取的文件 由代码生成器使用。

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 2014-02-26
      • 2021-04-26
      相关资源
      最近更新 更多