java - 线程 "main"java.lang.NoClassDefFoundError : org/json/simple/JSONObject - java commandline runtime error 中出现异常

标签 java command-line json runtimeexception

我正在尝试在 java 中创建一个 JSON 对象并编译它。

import org.json.simple.JSONObject;
class JsonEncodeDemo 
{

   public static void main(String[] args){

  JSONObject obj = new JSONObject();

  obj.put("name", "foo");
  obj.put("num", new Integer(100));
  obj.put("balance", new Double(1000.21));
  obj.put("is_vip", new Boolean(true));

  System.out.print(obj);
   }
}

我已经下载了 json-simple-1.1.1.jar 并将其存在于我当前的文件夹中。 我使用

进行编译
javac -cp json-simple-1.1.1.jar JsonEncodeDemo.java. 

它编译得很好。但是当我尝试运行它时 -

java JsonEncodeDemo

它给了我以下内容 -

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
   at JsonEncodeDemo.main(JsonEncodeDemo.java:12)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
   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)

我还将 jar 放入我的 lib 和 bin 文件夹中并尝试使用 - 进行编译

javac -cp '.\bin\*;.\lib\*;json-simple-1.1.1.jar' JsonEncodeDemo.java

并运行

java JsonEncodeDemo

还是不行。有人可以帮我吗?

最佳答案

假设 json-simple-1.1.1.jar 与 JsonEncodeDemo 位于同一目录:

编译

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

运行

java -cp json-simple-1.1.1.jar: JsonEncodeDemo

关于java - 线程 "main"java.lang.NoClassDefFoundError : org/json/simple/JSONObject - java commandline runtime error 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776345/

相关文章:

java - 无法在 Eclipse 中放置断点

regex - 我的正则表达式如何匹配不受欢迎的字符串?

android - 如何使用 Retrofit 解析嵌套的 json ....?

php - 在 Laravel 中验证 JSON 数组

json - 是否可以使用 $resource.save 将数据保存到本地磁盘上的 json 文件而不使用任何服务器端实现?

java - 包名称更改导致永久权限问题

java - 如何从 Java 查询 SQL 浏览器服务?

java - 通过命令行与 iptables 交互

.net - 如何从 Visual Studio 命令提示符以外的命令行运行 regasm.exe?

java - 为什么构造函数变量不能使用