我的 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>
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/