gpt4 book ai didi

java - 尝试使用 JSON 简单解析 JSON 时出现 NoClassDefFoundError

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:46:12 27 4
gpt4 key购买 nike

我使用 JSON simple 来解析 JSON,并且在尝试创建 JSONParser 对象时得到 NoClassDefFoundError

import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
...
JSONParser parser = new JSONParser();

我用命令编译程序:

javac MyProgram.java -cp json-simple-1.1.1.jar

它编译得很好。但是当我用这个命令执行程序时:

java MyProgram

我得到 NoClassDefFoundError

我做错了什么?

编辑:
完整错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/parser/JSONParser
at getNotesFromNoter.sendPost(getNotesFromNoter.java:53)
at getNotesFromNoter.main(getNotesFromNoter.java:14)
Caused by: java.lang.ClassNotFoundException: org.json.simple.parser.JSONParser
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

最佳答案

运行时,您没有在类路径中包含简单 JSON jar 文件。你想要:

// Unix
java -cp .:json-simple-1.1.1.jar MyProgram

// Windows
java -cp .;json-simple-1.1.1.jar MyProgram

(:; 是相关操作系统的路径分隔符。)

当您编译 Java 并指定类路径时,这只是告诉编译器要编译的类against - 它不会在 结果 中包含库编译,因此您仍然需要指定类路径才能运行代码。

关于java - 尝试使用 JSON 简单解析 JSON 时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24065685/

27 4 0
文章推荐: java - 使用正则表达式从字符串中提取键值对
文章推荐: java - Tomcat 7 Datasource注入(inject)机制
文章推荐: flatMap 返回 List 而不是 List 后,Java Stream 收集