我有以下问题。有一些wsdl文件应该转换成java类。
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/configurationAndSecurityService.wsdl</wsdl>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/ordersService.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
问题是当wsdls被转换为java类时,我收到有关重复项的错误消息(某些类具有相同的名称)。最初,我想将每个wsdl放入其拥有的源根(子包)中,但我不知道该怎么做。有没有办法将每个wsdl绑定到自己的源根?
答案 0 :(得分:1)
您需要在具有不同sourceRoot的多个执行中拆分它,但这也可能导致类路径冲突。
我通常为每个wsdlOption分配不同的包名:
<packagenames>
<packagename>
https://www.namespace.de=de.namespace1
</packagename>
</packagenames>
另请参阅:http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html