1

我正在寻找一种重用绑定的方法,以避免每次使用来自其他项目的 XSD 的类型时重新生成类。
我正在使用 maven 和 maven-jaxb2-plugin。
假设我有两个项目 A 和 B。
项目 A 定义 a.xsd 并配置了 maven-jaxb2-plugin 以从 a.xsd 生成类 A1、A2、...
项目 B 依赖于项目 A 并定义 b .xsd,它使用 a.xsd 中定义的一些类型。B 在配置了 maven-jaxb2-plugin 以从 a.xsd 生成类 B1、B2、... 为了避免在构建 B 时生成类 A1、A2、...,我包括如下部分在项目 B 中使用的绑定配置中。

<jaxb:bindings scd="x-schema::tns" xmlns:tns="http://somedomain/A">
  <jaxb:schemaBindings map="false"/>
  <jaxb:bindings scd="~tns:A1">
    <jaxb:class ref="com.example.A1"/>
  </jaxb:bindings>
  <jaxb:bindings scd="~tns:A2">
    <jaxb:class ref="com.example.A2"/>
  </jaxb:bindings>
</jaxb:bindings>

这工作很好。
现在假设我有项目 C 也取决于项目 A 并定义使用来自 a.xsd 的类型的 c.xsd。
为了避免重新生成,我可以在项目 C 的绑定配置中包含上述配置,但这会导致我多次配置同一个绑定块。
是否可以在某处配置通用绑定并将其包含在 B 和 C 的绑定配置中以避免冗余?

4

0 回答 0