5

いくつかのクラスをマーシャリングするために JiBX を使用しています。私が得るまで、それはうまくいきますIllegalStateException

java.lang.IllegalStateException: Missing required object
at org.jibx.runtime.impl.MarshallingContext.pushObject(MarshallingContext.java:1181)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0MungeAdapter.JiBX_binding0_marshalAttr_1_18()
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0RoomProductVO_access.marshal()
at com.dreipplus.profiler.importer.binding.trans.LibRoomObjectImport.JiBX_binding0_marshal_3_0(LibRoomObjectImport.java)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0LibRoomObjectImport_access.marshal()
at com.dreipplus.profiler.importer.binding.trans.LibRoomObjectImport.marshal(LibRoomObjectImport.java)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0MungeAdapter.JiBX_binding0_marshal_1_3()
at com.dreipplus.profiler.importer.binding.trans.LibraryImport.JiBX_binding0_marshal_2_0(LibraryImport.java)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0LibraryImport_access.marshal()
at com.dreipplus.profiler.importer.binding.trans.LibraryImport.marshal(LibraryImport.java)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0MungeAdapter.JiBX_binding0_marshal_1_0()
at com.dreipplus.profiler.importer.binding.trans.Libraries.JiBX_binding0_marshal_2_0(Libraries.java)
at com.dreipplus.profiler.importer.binding.trans.JiBX_binding0Libraries_access.marshal()
at com.dreipplus.profiler.importer.binding.trans.Libraries.marshal(Libraries.java)
at org.jibx.runtime.impl.MarshallingContext.marshalRoot(MarshallingContext.java:1021)
at org.jibx.runtime.impl.MarshallingContext.marshalDocument(MarshallingContext.java:1083)
at com.dreipplus.profiler.library.LibraryTest.testExportLibrary(LibraryTest.java:186)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:70)

xml 出力は、別の (さらに) 位置で停止します (おそらく、フラッシュされていない可能性があります)。

...         
<objectsmaterial>
            <material>
                <name>
                    <localizedtext size="1">
                        <entry key="de_AT">Furnier Kanadische Ahorn</entry>
                    </localizedtext>
                </name>
                <longtext>
                    <localizedtext size="1">
                        <entry key="de_AT">
[EOF]

設定されていないのは問題usage="optional"ですか?JiBX はフィールドが存在しないことを期待していますか? JiBX のデバッグ出力がありませんが、これはすでに JIRA のバグとして報告されています。

誰かが何が悪いのか、または何が間違っているのかを知る方法を知っているなら、お願いします!

ここに私の binding0.xml binding0.xml pastebin

前もって感謝します

フロリアン・フーバー

4

1 に答える 1

5

IllegalArgumentException は、フィールドが null の場合、または (XML-) サブ要素がある場合に発生します。

コードを再確認したところ、バグが見つかりました。

于 2011-09-14T09:35:07.383 に答える