在多个项目中重用JAXB绑定

时间:2013-11-20 14:29:22

标签: maven binding jaxb xsd maven-jaxb2-plugin

我正在寻找一种重用绑定的方法,以避免每次使用其他项目的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的绑定配置中以避免冗余?

0 个答案:

没有答案
相关问题