如何让kXML工作?

时间:2010-01-28 10:32:27

标签: xml java-me midp kxml kxml2

我正在尝试实现现有的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

可能是什么原因?

5 个答案:

答案 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是至关重要的。