如何修改从多个 wsdls 生成的 java 类的包名称。我有两个 wsdls,它们都生成具有完全相同的包名称的类,如 ObjectFactory、package-info 等。因此,我无法在代码中组织导入。我的 wsdls 包看起来像这样 -
WSDL A
com.test.customerinfo.dto
com.test.customerinfo.exceptions
com.test.customerinfo.service
WSDL B
com.test.customerinfo.dto
com.test.customerinfo.exceptions
com.test.customerinfo.service
我希望它看起来像这样 -
WSDL A
com.test.customerinfo.dto
com.test.customerinfo.exceptions
com.test.customerinfo.service
WSDL B
com.testOne.customerinfo.dto
com.testOne.customerinfo.exceptions
com.testOne.customerinfo.service
我尝试过这个,但没有成功-
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.7.7</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>target/generated-sources/test/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/resources/wsdl/test/GetInfo.wsdl</wsdl>
<extraargs>
<extraarg>-server</extraarg>
<extraarg>-client</extraarg>
<extraarg>-impl</extraarg>
<extraarg>-verbose</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://dto.customerinfo.test.com/=com.test.customerinfo.dto</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://services.customerinfo.test.com/=com.test.customerinfo.services</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://exceptions.customerinfo.test.com/=com.test.customerinfo.exceptions</extraarg>
</extraargs>
<frontEnd>jaxws21</frontEnd>
<faultSerialVersionUID>1</faultSerialVersionUID>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
请指教。
In cxf-codgen-plugin
您可以在中指定包映射wsdlOptions
部分:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
...
<configuration>
...
<wsdlOptions>
<wsdlOption>
...
<packagenames>
<!-- Package Mappings -->
<packagename>http://namespace.example.com/=com.test.package</packagename>
</packagenames>
...
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
或者您也可以使用extraarg
:
<wsdlOptions>
<wsdlOption>
...
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://namespace.example.com/=com.test.package</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)