MOXy の ObjectGraph 機能を使用して、クラス フィールドのサブセットを xml 文字列にマーシャリングしようとしました。私は次のことをしました:
eclipselink.jarをクラスパスに入れる- ファイルを作成し
jaxb.properties、コンテンツを にしてjavax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory、マーシャリングまたはアンマーシャリングするドメイン クラスと同じパッケージに入れました。
フィールドのサブセットを xml 文字列にマーシャリングするメソッドをドメイン クラスに作成しました。このメソッドをクラスmain()メソッドで呼び出したところ、正しい結果が得られました。
私のアプリケーションはearファイルにあり、ドメイン クラスはファイルにパッケージ化されていmodel.jarます。マーシャリング メソッドは、同じ jar ファイルにあるサービス クラスによって呼び出されます。WebLogic サーバーにデプロイし、このマーシャリング関数を使用する関数を実行した後、次の行で常に例外が発生しました。
marshaller.setProperty(MarshallerProperties.OBJECT_GRAPH, "dbstring");
基本的に、このOBJECT_GRAPHプロパティを設定できず、正しいマーシャリング結果を得ることができません。ただし、ドメイン クラスを で実行した場合は問題ありませんmodel.jarでした。
何か案は?ありがとう!