私は有名な慣習を使用しているxsdを持っています:
<xsd:element name="name" type="Type">
<!-- ... -->
</xsd:element>
<xsd:complexType name="Type">
<!-- ... -->
<xsd:complexType/>
そのため、xjc ツールでクラスを生成すると、@XmlRootElement アノテーションがありません。xjcの単純なバインディングを使用しているstackoverflowで解決策を見つけました:
<jxb:bindings schemaLocation="myschema.xsd" node="/xs:schema">
<jxb:globalBindings>
<xjc:simple/>
</jxb:globalBindings>
</jxb:bindings>
-extension -b フラグを指定して xjc でクラスを生成すると、XmlRootElement アノテーションが表示されます。問題は、そのクラスの名前が正しくないことです。"" をルート要素として使用するクラス "Type" が必要です。しかし、クラス「名前」を受け取ります。
私はこの問題にほぼ2日を費やしました...
適切な名前と XmlRootElement 注釈を持つクラスを作成する方法はありますか?