java - 如何防止 cxf-codegen-plugin 为所有 wsdl 文件生成源

标签 java maven wsdl cxf

我的 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 文件生成源。有什么想法吗?我错过了什么吗?

最佳答案

我认为<wsdlOptions>仅提供 WSDL 级别的选项 - 它不选择要处理的 WSDL。

您可以使用 <wsdlRoot> 指定要处理的 WSDL和,<includes> :

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

参见CXF Doco Example 5

You can declare a common wsdlRoot folder where you store your WSDL files and use includes/excludes patterns to select the files to get used by the code generator.

关于java - 如何防止 cxf-codegen-plugin 为所有 wsdl 文件生成源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61939951/

相关文章:

java - 从 WCF 和 Biztalk 中的 WSDL 导入键/值复杂类型定义

xml - W3 和 xmlsoap.org 架构之间有什么区别?

php - PHP SOAP 调用中的多个同名元素

java - 与对象枚举进行比较

java - 将对象从一个类移动到另一个类 (Java)

java - 覆盖@JoinColumn 可为空的值

java - 阴影 joda 时间不包含类

java - org.testng.TestNGException : An error occurred while instantiating class

java - 如何在 Weblogic 10.3.x 上利用 EL 2.2 功能?

java - Lombok 与 Maven 和 Eclipse