我正在尝试实现现有的XML解析器:kXML。
我遇到了以下错误:
java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException at com.sun.midp.midlet.MIDletState.createMIDlet(+29) at com.sun.midp.midlet.Scheduler.schedule(+52) at com.sun.midp.main.Main.runLocalClass(+28) at com.sun.midp.main.Main.main(+80) Execution completed.
在this site,您可以找到我遇到的错误。然而,解决方案不起作用。我使用了以下脚本:
C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlParser C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlSerializer C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParser C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParserException C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParserFactory C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlSerializer cd output C:\Program Files\Java\jdk1.6.0_14\bin\jar -cvf ..\kxml2.jar org
我收到以下错误(多个错误):
C:\Users\****\Desktop\kxmlfolder>C:\WTK2.5.2_01\bin\preverify -classpath .;C:\ java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlParser Error preverifying class org.xmlpull.v1.XmlPullParser java/lang/NoClassDefFoundError: java/lang/Object C:\Users\****\Desktop\kxmlfolder>C:\WTK2.5.2_01\bin\preverify -classpath .;C:\ java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlSerializer Error preverifying class org.xmlpull.v1.XmlSerializer java/lang/NoClassDefFoundError: java/lang/Object
可能是什么原因?
答案 0 :(得分:3)
您的问题是您设法配置开发环境以针对kXML库编译MIDlet,但是您没有将它们包含在您的MIDlet jar文件中,因此J2ME模拟器不知道如何查找MIDlet导入的类在运行时。
答案 1 :(得分:1)
也许您应该包含kXml库。 如果使用eclipse MTJ,只需右键单击项目名称,选择属性,在列表中选择Java Build Path,在右键单击选择库,添加外部jar按钮,浏览并选择kXml.jar文件。 您将看到现在包含新库。 尝试再次运行该项目。
答案 2 :(得分:1)
您需要在kxml-source
设置中关联buildpath
。我花了很长时间才弄清楚这一点。
答案 3 :(得分:1)
在eclipse中右键单击项目名称,选择属性,选择Java Build Path,转到ORDER&导出并单击要包含在项目的jar文件中的外部kXml jar文件。这应该有用。
答案 4 :(得分:0)
我希望我的发现与某种程度有关: 通过XStream教程http://x-stream.github.io/tutorial.html我得到了相同的错误消息。我发现我必须包括kxml2- [version] .jar(在包中给出)而不是kxml2-min- [version] .jar,如教程中所述。 因此,按照QuickRecipesOnSymbian的说法,我认为包括正确的jar是至关重要的。