线程“main”中的异常java.lang.NoClassDefFoundError:org / json / simple / JSONObject - java命令行运行时错误

时间:2016-08-04 19:56:32

标签: java json command-line jsonobject 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

它仍然不起作用。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

假设,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