How do I get kXML to work?

孤人 提交于 2019-12-22 18:25:05

问题


I'm trying to implement an existing XML parser: kXML.

I ran into the following error:

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.

At this site you can find the error that I ran in to. The solution however doesn't work. I used the following script:

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

I get the following errors (mutliple of these):

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

What can be the cause?


回答1:


You problem is that you managed to configure your development environment to compile your MIDlet against the kXML libraries but your didn't include them into your MIDlet jar file so the J2ME emulator doesn't know how to find the classes your MIDlet imports at runtime.




回答2:


Maybe you should include the kXml library. if you use eclipse MTJ, just right click on the project name, select properties, select Java Build Path in the list, in the right click select libraries, add external jar button, browse and select the kXml.jar file. You will see the new library now included. Try run the project again.




回答3:


You need to link kxml-source in buildpath settings. I had a very hard time for 3 days to figure out this.




回答4:


In eclipse just right click on the project name, select properties, select Java Build Path , go to ORDER & EXPORT and click on the external kXml jar file to be included alongwith the jar file of your project . This should work .




回答5:


I hope my finding is somehow related: going through the XStream tutorial http://x-stream.github.io/tutorial.html I got the same error message. I found out that I had to include kxml2-[version].jar (given in the bundle) and not the kxml2-min-[version].jar, as stated in the tutorial. So following what QuickRecipesOnSymbian said, I think including the correct jar is crucial.



来源:https://stackoverflow.com/questions/2153788/how-do-i-get-kxml-to-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!