jdk 1.6、xjc コマンドを使用してサンプル xsd から Java クラスを生成しようとしています。しかし、注釈を使用したくありません。つまり、生成された Java クラスに注釈を含めたくありません。どうすればいいですか?
2 に答える
In JAXB (JSR-222) the only standard representation of the XML-binding metadata defined in the standard is JAXB annotations. Therefore an option to generate the classes without these annotations is of limited use.
I'm the EclipseLink JAXB (MOXy) lead an we do offer an XML (and JSON) representation of the JAXB metadata as an extension:
- XML - http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html
- JSON - http://blog.bdoughan.com/2012/04/extending-jaxb-representing-metadata-as.html
If you are interested in having the ability to generate this metadata instead of annotations please request an enhancement in our bug database against the MOXy component:
この質問には 2 つの部分があります。
- コンパイル時には、別の方法でコードを生成する必要があります。これを行う XJC プラグインを作成できます。
- ランタイムでは、注釈なしで動作する JAXB 実装を使用する必要があります (この部分に関する Blaise の回答を参照してください)。
XJC 拡張性に関するこの質問を参照してください。
コード生成を完全に置き換えるXJC プラグインを作成できます。したがって、クラスの注釈の代わりにMOXyのXML マッピングを生成する XJC プラグインを想像できます。追加の注釈リーダーを使用して JAXB RI でこれを行うこともできますが、単純に MOXy を使用する場合よりもはるかに複雑です。
ただし、高度な XJC プラグインの作成は非常に複雑になる可能性があることに注意してください。