2010-01-28 89 views
2

我想實現一個現有的XML解析器:kXML如何讓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

您正在開發什麼IDE和操作系統? – 2010-01-28 12:14:51

+0

Eclipse,Wireless Toolkit,Windows Vista – hsmit 2010-01-28 12:20:09

回答

3

你的問題是,你設法配置你的開發環境,以針對kXML庫編譯你的MIDlet,但是你沒有將它們包含到你的MIDlet jar文件中,所以J2ME模擬器不知道如何找到你的MIDlet類在運行時導入。

+0

我應該如何配置此MIDlet jar以包含kXML庫? – hsmit 2010-01-28 12:19:21

+0

如何配置此MIDlet jar以包含kXML庫 – 2012-04-06 09:34:27

1

也許你應該包括kXml庫。 如果您使用eclipse MTJ,只需右鍵單擊項目名稱,選擇屬性,在列表中選擇Java Build Path,在右鍵單擊選擇庫,添加外部jar按鈕,瀏覽並選擇kXml.jar文件。 您將看到現在包含的新庫。 嘗試再次運行該項目。

+0

我已經這樣做了。和eclipse找到我想調用的類和方法(自動導入,自動完成等)。只有當我運行的東西它不工作.. – hsmit 2010-01-31 17:03:19

+0

1.你有沒有嘗試重新創建新項目? 我認爲這與構建配置文件有關。 也許你可以在這裏發表,有人會發現什麼是錯的。 2.你使用哪個版本的eclipse和MTJ? 你有netbeans嗎? 如果你在Netbeans中創建這個項目,是否會發生同樣的錯誤? – 2010-02-02 07:35:39

1

您需要鏈接kxml-sourcebuildpath設置。我有一個非常困難的時間3天來弄清楚這一點。

1

在eclipse中,右鍵單擊項目名稱,選擇屬性,選擇Java Build Path,點擊ORDER & EXPORT,然後單擊外部kXml jar文件以與項目的jar文件一起被包含。這應該工作。

0

我希望我的發現有點相關: 通過XStream教程http://x-stream.github.io/tutorial.html我得到了同樣的錯誤信息。正如教程中所述,我發現必須包含kxml2- [version] .jar(在包中給出),而不是kxml2-min- [version] .jar。 所以按照QuickRecipesOnSymbian的說法,我認爲包括正確的jar是至關重要的。