これが私の問題です:
私は 2 つの .xsd ファイルを持っています。それらを a.xsd と b.xsd と呼びましょう。私が達成したいのは、b.xsd のクラスを除く a.xsd からすべてのクラスを生成することです。ここでの問題は、 a.xsd が b.xsd の型を ( a を介して) 参照するため、除外された場合でも b.xsd のクラスがビルドされることです。これを回避する方法はありますか?
これが私の問題です:
私は 2 つの .xsd ファイルを持っています。それらを a.xsd と b.xsd と呼びましょう。私が達成したいのは、b.xsd のクラスを除く a.xsd からすべてのクラスを生成することです。ここでの問題は、 a.xsd が b.xsd の型を ( a を介して) 参照するため、除外された場合でも b.xsd のクラスがビルドされることです。これを回避する方法はありますか?
スキーマを除外することはできませんが、スキーマから派生したパッケージを除外することはできます。
パッケージの無視を参照してください:
<jaxb:bindings schemaLocation="schema-ignored.xsd" node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/>
</jaxb:schemaBindings>
<hj:ignored-package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/>
</jaxb:bindings>
実際にはb.xsd
どこかから型への参照があるa.xsd
ので、この参照を壊す必要があります。を使用してこのプロパティを無視するか、を使用してhj:ignored
カスタマイズしてxjc:dom
、JavaクラスのDOM要素にすることができます。
ps。私はusers@hyperjaxb.java.net
SOに関する質問よりも早く回答しています。