Java 强制cxf codegen插件使用现有生成的类,而不是创建新类
我有一组XSD(a和B),它们对应的Java类由maven-jaxb2-plugin生成。Java类在包P1中 此外,我还有一个WSDL,它使用XSD a和B中的一些类型 然而,当我使用cxf codegen插件从WSDL生成Java类时,它会在包P2中生成类型 =>P1和P2中的类型完全相同 我的问题是:如何告诉cxf codegen插件使用现有的软件包P1 谢谢Java 强制cxf codegen插件使用现有生成的类,而不是创建新类,java,web-services,maven,xsd,wsdl,Java,Web Services,Maven,Xsd,Wsdl,我有一组XSD(a和B),它们对应的Java类由maven-jaxb2-plugin生成。Java类在包P1中 此外,我还有一个WSDL,它使用XSD a和B中的一些类型 然而,当我使用cxf codegen插件从WSDL生成Java类时,它会在包P2中生成类型 =>P1和P2中的类型完全相同 我的问题是:如何告诉cxf codegen插件使用现有的软件包P1 谢谢 Hejk如果您查看我指定包的部分,您将发现两种配置。第一个是: <packagename>http://www.sch
Hejk如果您查看我指定包的部分,您将发现两种配置。第一个是:
<packagename>http://www.schema.org/something=info.package.p1</packagename>
http://www.schema.org/something=info.package.p1
在将xsd编译为java类的过程中,所有具有模式的文件都将存储到info.package.p1包中。如果xsd文件不属于第一个模式,则第二个配置将提供服务,它们将被存储到默认的packageinfo.package.p2中。您可以为每个模式分别进行此配置
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.1.7</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>src/main/java</sourceRoot>
<wsdlRoot>${basedir}/src/main/resources/wsdl/</wsdlRoot>
<includes>
<include>*your.wsdl</include>
</includes>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/your.wsdl</wsdl>
<packagenames>
<packagename>http://www.schema.org/something=info.package.p1</packagename>
<packagename>info.package.p2</packagename>
</packagenames>
<bindingFiles>
<bindingFile>${basedir}/src/main/resources/bindingFile.xjb</bindingFile>
</bindingFiles>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
org.apache.cxf
cxf-codegen插件
3.1.7
生成源
生成源
src/main/java
${basedir}/src/main/resources/wsdl/
*您的.wsdl
${basedir}/src/main/resources/wsdl/your.wsdl
http://www.schema.org/something=info.package.p1
info.package.p2
${basedir}/src/main/resources/bindingFile.xjb
wsdl2java