gpt4 book ai didi

java - 使用 JAXB(或其他)从 maven 中的 XSD maven 依赖项生成 Java 类

转载 作者:行者123 更新时间:2023-11-30 10:56:47 25 4
gpt4 key购买 nike

我有一个数据模型作为 XSD 文件存储在 Maven 存储库中。我的目标是创建一个包含代表该模型的所有 Java 类的 jar。我想使用 maven 和 JAXB 来做到这一点。我知道 maven-jaxb2-plugin(codehouse-mojo 和 java-net,还不确定它们有何不同)但我看不到使用来自 maven 依赖项的 XSD 作为输入的方法。我是否必须编写自己的插件才能执行此操作?

如果有更好的工具,它不一定是 JAXB。

最佳答案

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

检查 documentation ,它就在那里。参见 Specifying What To Compile - Specifying URLs, filesets and Maven artifact resources .

例子:

<configuration>                                                                                         
<schemas>
<!--
Compiles a schema which resides
in another Maven artifact.
-->
<schema>
<dependencyResource>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin-tests-po</artifactId>
<!-- Can be defined in project dependencies or dependency management -->
<version>${project.version}</version>
<resource>purchaseorder.xsd</resource>
</dependencyResource>
</schema>
</schemas>
</configuration>

您还可以使用 catalogs将架构 URL 重写为 Maven artifact resources .

例子:

REWRITE_SYSTEM "http://schemas.opengis.net" "maven:org.jvnet.ogc:ogc-schemas:jar::!/ogc"

这会将 URI http://schemas.opengis.net/ows/2.0/owsAll.xsd 重写为 maven:org.jvnet.ogc:ogc-schemas:jar: :!/ogc/ows/2.0/owsAll.xsd。这将引用 ogc-schemas JAR Artifact 中的 ogc/ows/2.0/owsAll.xsd 资源。

据我所知,这些功能是 maven-jaxb2-plugin 独有的.

关于java - 使用 JAXB(或其他)从 maven 中的 XSD maven 依赖项生成 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32876952/

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