2014-07-04 77 views
1

我有一個相當大的xsd我從中使用org.jvnet.jaxb2.maven2.maven-jaxb2-plugin生成JaxB類。元素名稱全部用大寫字母分隔,如下劃線FOO_BAR_BAZ。這導致生成的類的可怕名稱,例如FOOBARBAZ。理想情況下,我希望它被配對爲FooBarBaz。用<jxb:class>元素擴展定義不是一種選擇。一般改變JaxB類名映射

是否有一種通用的方法來重寫jaxb如何將元素名稱映射到java類名?

回答

0

您可以使用外部綁定聲明文件,其中包含一些類似的一個.xjb文件:

<jxb:bindings node="//xs:element[@name='FOO_BAR_BAZ']"> 
    <jxb:class name="FooBarBaz"/> 
    <jxb:property name="FooBarBaz"/> 
</jxb:bindings> 

但你必須這樣做,所有的類被生成。您可能需要配置maven插件的bindingDirectory屬性。

+0

定義可能會發生變化,所以我需要一個通用的解決方案。元素的數量也會使這個解決方案變得不切實際。 –