【发布时间】:2021-01-07 09:09:20
【问题描述】:
我们有一个基于 Java 11 的 maven 项目,在我们的源代码中,我们确实有一个包含由 xjc 生成的类的包。一旦我们修改了 XSD 文件,我们就运行 xjc 并将类复制到我们的项目中以访问新字段。这工作正常,但是随着项目的增长,我们得到越来越多的 XSD 文件,并且使用 xjc 的过程不是很直观。此外,xjc 不再是 java 11 Adopt JDK 的一部分,因此我们必须使用旧的 java 8 oracle jdk 才能使用 xjc。
我们的另一个选择是使用 maven 插件。但我想知道,这是否适用于我们的项目设置。因为插件是在安装阶段执行的,所以类只会在这个阶段(或者它设置的任何阶段)生成。所以这些类只有在运行完这个阶段后才可用。
这意味着如果我更改 XSD,我将新的 XSD 复制到我的项目中,运行 mvn install,然后在 IntelliJ 中更新我的源,然后我可以访问新字段?
或者是在一个单独的 Maven 项目中管理 XSD 并将该项目配置为您自己的主项目中的依赖项的通常过程?一旦 XSD 发生更改,我是否会有新版本的依赖项,我是否必须在 pom.xml 中对其进行调整?
我想知道哪种方式在这里有意义。
【问题讨论】: