6

は、JAXBContextを作成しているドメインクラスと同じパッケージに含まれているjaxb.properties必要があります。

注釈やXJCで生成されたオブジェクトを使用したくないので、Moxyのxml駆動型構成を使用しています。複数のパッケージに分散している既存のドメインクラスがあります。これは、これらすべてのパッケージに存在する必要があることを意味しjaxb.propertiesますか、それともより良い代替手段がありますか(jvm argなどから読み取ることができるインターフェイスの独自の実装を作成する可能性があります)?

4

1 に答える 1

9

これは、これらすべてのパッケージにjaxb.propertiesが存在する必要があることを意味しますか?

JAXBContextonクラスを作成する場合はjaxb.properties、渡されるドメインクラスのパッケージの少なくとも1つにファイルを含める必要があります。以下の例では、またはのいずれかにファイルjaxb.propertiesを含めることができます。package1package2

JAXBContext jc = JAXBContext.newInstance(package1.Foo.class, package2.Bar.class);

JAXBContextonパッケージ名を作成する場合はjaxb.properties、少なくとも1つのパッケージにファイルが含まれている必要があります。パッケージは「:」で区切られていることに注意してください。

JAXBContext jc = JAXBContext.newInstance("package1:package2");

またはより良い代替手段があります

私の好みは、ファイルで標準のJAXB APIを使用しjaxb.propertiesて、JAXBプロバイダーとしてMOXyを指定することです。これを行うためにネイティブMOXyAPIを使用することを好む人もいます。

JAXBContext jc = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {Foo.class, Bar.class}, null);

詳細については

于 2012-08-03T14:08:36.990 に答える