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
でした。
何か案は?ありがとう!