2012-11-19 52 views
1

我正試圖在NetBeans概念驗證項目中運行Xstream。我有以下代碼。XStream noclassdeffound錯誤

XStream xstream = new XStream(); 
FileOutputStream fis = new FileOutputStream("Test.xml"); 
xstream.toXML(company, fis); 

該程序崩潰的第一行代碼中出現以下錯誤。

Exception in thread "main" java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException 
    at com.thoughtworks.xstream.XStream.<init>(XStream.java:336) 
    at Parser.XParser.Parse(XParser.java:24) 
    at rejaxbtest.REJAXBTest.main(REJAXBTest.java:39) 
Caused by: java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserException 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 3 more 
Java Result: 1 

我看到一個其他線程這個問題,但在給出的答案被放在項目lib目錄下的jar,但NetBeans的已經完成了正確的那個任務。任何其他可能導致java在運行時無法識別Xstream類的事情,儘管它在編譯時很好?

感謝

吉米

+0

嘗試添加xml-pull-xxjar(所需版本)。看起來像xStream依賴於它。 http://www.findjar.com/class/org/xmlpull/v1/XmlPullParserException.html – lokesh

回答

1
Caused by: java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserException 

看來你缺少在類路徑中需要的jar。

確保需要在運行時類路徑(你必須在編譯時的罐子)所有jar文件(如果是Web應用程序,複製這些罐子lib文件夾)

+0

這可能是這種情況。我在編譯時庫中有jar,但它不在運行時庫中。我只是將它添加到運行時間,仍然得到相同的答案。我更像一個C#人,所以也許我錯過了別的東西。還有什麼需要將jar添加到我的課程路徑?謝謝您的幫助。 - Jimmy – Jimmy

+0

這個Web應用程序(或)是獨立的嗎?如何將JAR添加到運行時?我認爲這個問題沒有其他可能性。 – kosa

+0

這是一個獨立的netbeans java應用程序。我使用tools antlibraries菜單並在每個選項卡中選擇了addjar,將stream-1.4.3.jar添加到編譯和運行時庫中。可能有些東西我仍然缺失,因爲我在Visual Studio中花了5年以上的時間,而在NetBeans中只花了幾個月時間。 – Jimmy

相關問題