gpt4 book ai didi

java - 如何在 cxf-xjc-plugin 中禁用 .xsd 验证?

转载 作者:行者123 更新时间:2023-12-01 09:35:12 31 4
gpt4 key购买 nike

我正在尝试使用 maven cxf-xjc-plugin 从提供程序(我无法更改这些文件)文件的 XSD 文件生成 Java 源代码。

Evertyhing 工作正常,但我需要添加一个新的 .xsd 文件。该文件内部包含其他 .xsd 文件,并且存在冲突,因为新的 .xsd 文件定义了与现有 xsd 文件同名的实体(我知道,我知道,但我只是这些 .xsd 文件的用户)。啊!它们应该在同一个包中...

该错误是典型的:

一个模式不能包含两个同名的全局组件;此架构包含两次出现的...

我读到有人能够修复类似的问题,告诉他所使用的工具不验证 .xsd。

我想知道是否可以告诉 cxf-xjc-plugin no 来验证 .xsd 文件并直接转换为 Java

maven配置如下:

<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<extensions>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.3.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>

<forceRegenerate>false</forceRegenerate>

<sourceRoot>${project.basedir}/src/main/java</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>${basedir}/src/main/resources/webapi/xsd/SuperSchemaCommon.xsd</xsd>
<packagename>com.XX.XXXXX.package</packagename>
<extensionArgs>
<arg>-encoding</arg>
<arg>UTF-8</arg>
</extensionArgs>
</xsdOption>
<xsdOption>
<xsd>${basedir}/src/main/resources/webapi/xsd/SuperSchemaInput.xsd</xsd>
<bindingFile>${basedir}/src/main/xjb/pnr/SuperSchemaInput.xjb</bindingFile>
<packagename>com.XXXXXXX.input</packagename>
<extensionArgs>
<arg>-encoding</arg>
<arg>UTF-8</arg>
</extensionArgs>
</xsdOption>

</xsdOptions>
</configuration>
<goals>
<goal>xsdtojava</goal>
</goals>
</execution>
</executions>
</plugin>

提前致谢!

最佳答案

找到解决方案!

只需添加 xjc 参数“-nv”作为另一个扩展参数。执行maven任务时传递给xjc的参数

<xsdOption>
...
<extensionArgs>
<arg>-encoding</arg>
<arg>UTF-8</arg>
<arg>-nv</arg>
</extensionArgs>
</xsdOption>

关于java - 如何在 cxf-xjc-plugin 中禁用 .xsd 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39038506/

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