我正在使用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输出在另一个(更远的)位置停止(可能没有刷新get):
...
<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
提前感谢
弗洛里安·胡伯
发布于 2011-09-14 17:35:07
如果一个字段是空的,如果它有(XML-)子元素,IllegalArgumentException就会出现。
我仔细检查了代码,发现了bug。
https://stackoverflow.com/questions/7346168
复制相似问题