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ファイルがないようです。

必要なすべてのjar(コンパイル時に持っているjar)がランタイムクラスパスにあることを確認します(Webアプリケーションの場合は、それらのjarをlibフォルダーにコピーします)

于 2012-11-19T04:55:07.933 に答える
0

別のコンストラクターを使用します。

new Xstream(new StaxDriver())

XStreamXmlPullParserExceptionを参照してください

于 2015-04-07T19:05:28.077 に答える