1

xsdを使用して JaxB クラスを生成するかなり大きなものがありorg.jvnet.jaxb2.maven2.maven-jaxb2-pluginます。要素名は、 のようにアンダースコアで区切られたすべての大文字FOO_BAR_BAZです。これにより、生成されたクラスの恐ろしい名前が生成されますFOOBARBAZ。理想的には、にマップしたいと思いFooBarBazます。<jxb:class>Elements で定義を拡張することはできません。

jaxb が要素名を Java クラス名にマップする方法をオーバーライドする一般的な方法はありますか?

4

2 に答える 2

1

この使用例では、カスタム XJC プラグインの作成を調査して、Java クラス名の派生方法をカスタマイズできます。

于 2014-07-04T15:25:01.260 に答える
0

.xjb次のようなものを含む外部バインディング宣言ファイルを使用できます。

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

ただし、すべてのクラスを生成するには、これを行う必要があります。bindingDirectoryまた、maven プラグインのプロパティを構成する必要がある場合もあります。

于 2014-07-04T15:29:40.177 に答える