簡體   English   中英

通常更改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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM