初めてJAXBとXJCを使用しています。
Java XMLファイルからクラスを生成するため、 このオンラインヘルパー を使用してXMLファイルからスキーマを生成します。
その後、このコマンドラインを使用してJavaクラスを生成します:
xjc myschema.xsd
それは機能しますが、Javaファイルとその内部の多くの静的クラスのみを受け取ります。これは、ファイルごとに1つのクラスのみを含む多くのJavaファイルを生成することは可能ですか? ?
ありがとうございました
デフォルトでは JAXB(JSR-222) は、ネストされた複合型の静的内部クラスを作成して、クラス名の競合を防止します。外部バインディングファイルを使用して、この動作を無効にすることができます。
binding.xml
バインディングファイルを使用すると、XMLスキーマからJavaクラスを生成する方法をカスタマイズできます。
<jaxb:bindings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://Java.Sun.com/xml/ns/jaxb"
version="2.1">
<jaxb:globalBindings localScoping="toplevel"/>
</jaxb:bindings>
XJCコール
-b
オプションは、バインディングファイルを指定するためにXJCコマンドで使用されます。
xjc -b binding.xml myschema.xsd
詳細情報