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

标签 java json classnotfoundexception json-simple

我使用 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/

相关文章:

Java For 循环不以 Sentinel 结尾

json - 属性服务 token 不能为空

javascript - 如何将 UL 列表项转换为 JSON 对象?

java - 无法创建 .xlsx 文件并不断收到 Java NoClassDefFoundException 和 ClassNotFoundException

java - Vaadin Formsender 添加 - ClassNotFoundException

java - 来自单个 jsp 表单 spring mvc 的多模型属性

java - 如何在任何 Java WordNet 界面中访问 WordNet 中的 "frequency count"

java - 在 Neo4j 中找到节点集(某些节点)之间最长路径的最佳方法是什么?

使用 mixin 和更改的 getter 进行 JAVA 对象映射器序列化

hadoop - 在hadoop job jar的 "lib"文件夹下打包依赖库时,遇到ClassNotFoundException