gpt4 book ai didi

java - 如何从包含另一个 XSD 的 XSD 生成类

转载 作者:搜寻专家 更新时间:2023-11-01 03:22:28 25 4
gpt4 key购买 nike

我有 2 个项目:

xsdproject/
src/main/resources/
a.xsd
b.xsd

implproject/

在 implproject 中,我想使用 maven-jaxb2-plugin 从 xsd 生成类。

        <plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<cleanPackageDirectories>true</cleanPackageDirectories>
<forceRegenerate>true</forceRegenerate>
<schemas>
<schema>
<dependencyResource>
<groupId>some.group</groupId>
<artifactId>xsdproject</artifactId>
<version>${project.version}</version>
<resource>a.xsd</resource>
</dependencyResource>
</schema>
<schema>
<dependencyResource>
<groupId>some.group</groupId>
<artifactId>xsdproject</artifactId>
<version>${project.version}</version>
<resource>b.xsd</resource>
</dependencyResource>
</schema>
</schemas>
</configuration>
</plugin>

问题来了->b.xsd有

<xs:include schemaLocation="a.xsd" /> 

在生成过程中我有一个错误:

 Failed to read schema document 'a.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.

有没有办法成功导入2个XSD并编译它们?

最佳答案

免责声明。我是 maven-jaxb2-plugin 的作者.

尝试以下操作:

src/main/resources/catalog.cat:

REWRITE_SYSTEM "a.xsd" "maven:some.group:xsdproject:jar::!/a.xsd"

pom.xml中的configuration

<catalog>src/main/resource/catalog.cat</catalog>

(参见 Using Catalogs 。)

我也认为你只需要编译b.xsda.xsd 应该自动包含在内。

如果出现问题,请运行 mvn -X clean install 并检查日志。

另见:

如需进一步支持,请file an issue并提供一个示例项目。

关于java - 如何从包含另一个 XSD 的 XSD 生成类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26677239/

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