我使用带有 Jibx 的 Spring Object-Xml 映射将一些 xsd 文件转换为 Java 源文件。Jibx 在构建过程中由 jibx-maven-plugin 调用。我的模式文件 (.xsd) 有一个命名空间“abcom”,但我希望生成的 Java 源位于包“a.com”下,因为其余的 Java 代码都是这样组织的。
我注意到 Java 包是根据 xsd 的命名空间自动确定的。因此,问题是:当在模式文件中定义命名空间时,使用 Jibx Maven 插件时,是否可以在 xsd->Java 转换中设置输出 Java 源文件的 java 包?
到目前为止提出的解决方案:
1) 使用构建执行
建议如下。
问题:
- xsd->Java 转换在每次构建时运行。我想手动运行它,或者只在我更改 xml 模式时运行。
- custom.xml 中的 prefer-inline 属性与此设置的作用不同,内联对象引用的属性
2)使用自定义xml设置Java包
此处建议:Jibx Codegen:自定义文件 - 每个模式的包
问题:它没有工作。
3) 模块化架构
此处建议:Jibx Maven 插件:模式之间的交叉引用,当它们在不同的构建执行中转换时
问题:为每个模式设置一个 pom、为每个模式生成一个 jar 并将该 jar 导入其他模式中太复杂了。
当在 xml 模式中定义命名空间时,是否有人成功地解决了这些问题并且能够在 xsd->Java 转换中设置自定义 Java 包?
提前致谢。