![](/img/trans.png)
[英]Single Element Name mapping for all instances of a java class using jaxb
[英]generally change JaxB class name mapping
我有一個相當大的xsd
,可以使用org.jvnet.jaxb2.maven2.maven-jaxb2-plugin
從其中生成JaxB類。 元素名稱均為大寫字母,由下划線分隔,例如FOO_BAR_BAZ
。 這會導致生成的類(例如FOOBARBAZ
名稱FOOBARBAZ
。 從概念上講,我希望將其映射到FooBarBaz
。 用<jxb:class>
元素擴展定義不是一種選擇。
有沒有一種通用的方法可以覆蓋jaxb如何將元素名稱映射到Java類名稱?
對於此用例,您可以研究創建一個自定義XJC插件以自定義Java類名的派生方式。
您可以使用一個外部綁定聲明文件,一個包含以下內容的.xjb
文件:
<jxb:bindings node="//xs:element[@name='FOO_BAR_BAZ']">
<jxb:class name="FooBarBaz"/>
<jxb:property name="FooBarBaz"/>
</jxb:bindings>
但是對於所有要生成的類,您都必須這樣做。 您可能還必須配置Maven插件的bindingDirectory
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.