想象一下這種情況。自定義軟件包名稱cxf-codegen-plugin
我有一個名稱空間爲a/b/c的wsdl文件,它導入了名稱空間爲m/n/o的另一個wsdl。 不幸的是,它們都具有相同的ComplexTypes XYZ。現在,當我使用cxf-codegen-plugin生成Java代碼並使用自定義包名稱「com.qsrs.uvw」時,只有一個類保留在生成的最終代碼中。有人能幫助我嗎?
想象一下這種情況。自定義軟件包名稱cxf-codegen-plugin
我有一個名稱空間爲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>
這<extraarg>http://your.namespace2/services2/=your.package2</extraarg>
將映射你想要的包命名空間。
不要定義包名讓cxf-codegen-plugin完成工作。 – khmarbaise