2

我正在尝试在 netbeans 概念验证项目中运行 Xstream。我有以下代码。

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

我已经看到另一个有这个问题的线程,但给出的答案是将 jar 放在项目 lib 目录中,但 netbeans 已经正确完成了该任务。任何其他可能导致java在运行时无法识别Xstream类的事情,即使它在编译时很好?

谢谢

吉米

4

2 回答 2

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

看来您在类路径中缺少必需的 jar。

确保所有需要的 jars(你在编译时拥有的 jars)都在运行时类路径中(如果是 web 应用程序,请将这些 jars 复制到 lib 文件夹)

于 2012-11-19T04:55:07.933 回答
0

使用不同的构造函数,即

new Xstream(new StaxDriver())

请参阅 XStream XmlPullParserException

于 2015-04-07T19:05:28.077 回答