3

私はJson-Pathが初めてです。

Eclipse ビルド パスに json-path-0.8.0.jar を含めました。

JSON をhttp://code.google.com/p/json-path/からファイルにコピーしました。

そして、私はこのファイルを解析し、次を使用して著者名を表示しようとしています:

String jsonPath = "$.store.book[1].author";

File jsonFile = new File("C:\\ServicesTest\\jsonresponse2.json");

System.out.println("Author: "+JsonPath.read(jsonFile, jsonPath));

このエラーが発生しています:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/Validate
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:304)
at office.jsonPathparse.main(jsonPathparse.java:34)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.Validate
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more

org.apache.commons.lang-2.6.jar も含まれていますが、まだエラーが発生しています。ここで何か不足していますか?

問題が見つかりました:次のjarをパスに追加する必要があります:

json-path-0.8.0.jar

commons-lang-2.6.jar

commons-io-2.1.jar

json-smart-1.1.jar

最後の2が抜けていました。

4

1 に答える 1

4

import ステートメントが欠落しているか、ライブラリ jar ファイルが実際にはクラスパスに正しく追加されていない可能性があります。NoClassDefFoundErrorJavaがコードで参照されているクラスを見つけられないことを意味します...

于 2013-08-30T19:26:26.223 に答える