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

您可能缺少导入语句,或者库 jar 文件实际上并未正确添加到您的类路径中。NoClassDefFoundError意味着java找不到您的代码中引用的类...

于 2013-08-30T19:26:26.223 回答