1

これが私の問題です:

私は 2 つの .xsd ファイルを持っています。それらを a.xsd と b.xsd と呼びましょう。私が達成したいのは、b.xsd のクラスを除く a.xsd からすべてのクラスを生成することです。ここでの問題は、 a.xsd が b.xsd の型を ( a を介して) 参照するため、除外された場合でも b.xsd のクラスがビルドされることです。これを回避する方法はありますか?

4

1 に答える 1

1

スキーマを除外することはできませんが、スキーマから派生したパッケージを除外することはできます。

パッケージの無視を参照してください:

<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.netSOに関する質問よりも早く回答しています。

于 2011-08-16T19:08:19.663 に答える