gpt4 book ai didi

java - 强制cxf-codegen-plugin使用现有生成的类,而不是创建新的类

转载 作者:行者123 更新时间:2023-12-01 06:06:50 25 4
gpt4 key购买 nike

我有一组XSD(A和B),它们对应的Java类是由maven-jaxb2-plugin生成的。 Java类位于程序包P1中。

另外,我有一个WSDL,它使用XSD A和B中的某些类型。

但是,当我使用cxf-codegen-plugin从WSDL生成Java类时,它将在程序包P2中生成类型。

==> P1和P2中的类型严格相同。

我的问题是:如何告诉cxf-codegen-plugin使用现有的软件包P1?

谢谢!

赫克

最佳答案

如果您看一下我指定软件包的那一部分,您会发现两种配置。第一个是:

<packagename>http://www.schema.org/something=info.package.p1</packagename>


在将xsd编译为Java类期间,所有具有架构 http://www.schema.org/something的文件都将存储在info.package.p1包中。如果xsd文件不属于第一个架构,则使用第二种配置,它们将存储在默认程序包info.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>

关于java - 强制cxf-codegen-plugin使用现有生成的类,而不是创建新的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42832032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com