想象一下这个场景。
我有一个名称空间为 a/b/c 的 wsdl 文件,它导入另一个名称空间为 m/n/o 的 wsdl 文件。
不幸的是,它们都定义了相同的 ComplexTypes XYZ 。现在,当我使用 cxf-codegen-plugin 生成 Java 代码并使用自定义包名称“com.qsrs.uvw”时,生成的最终代码中仅保留一个类。有人可以帮我吗?
如果你想根据命名空间生成包,这里是解决方案:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.6.0</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>yourWsdl.wsld</wsdl>
<extraargs>
<extraarg>-client</extraarg>
<extraarg>-verbose</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://your.namespace/services/=your.package</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://your.namespace2/services2/=your.package2</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
This <extraarg>http://your.namespace2/services2/=your.package2</extraarg>
会将您的名称空间映射到您想要的包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)