我正在嘗試編寫一個將JSON數據寫入文件的簡單Java程序。我正在用JSON簡單的jar文件編譯它,但是我收到一個錯誤。下面是我做了什麼:無法使用Json簡單jar文件執行Java程序
//JsonSimpleWriteExample.java
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.io.FileWriter;
import java.io.IOException;
public class JsonSimpleWriteExample {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "mkyong.com");
obj.put("age", new Integer(100));
JSONArray list = new JSONArray();
list.add("msg 1");
list.add("msg 2");
list.add("msg 3");
obj.put("messages", list);
try (FileWriter file = new FileWriter("f:\\test.json")) {
file.write(obj.toJSONString());
file.flush();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(obj);
}
}
在終端編譯上面的程序,我做的:
javac -cp json-simple-1.1.1.jar JsonSimpleWriteExample.java
我從網上下載http://www.java2s.com/Code/Jar/j/json-simple.htm
的json-simple-1.1.1.jar
文件我得到以下錯誤:
Note: JsonSimpleWriteExample.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
我正在使用MacOS。任何人都可以幫我弄清楚這個問題。
當我嘗試運行我的類文件,我得到了以下錯誤:
$ java JsonSimpleWriteExample
錯誤,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
at JsonSimpleWriteExample.main(JsonSimpleWriteExample.java:11)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
這看起來不像是錯誤,而是警告。錯誤阻止我們編譯,警告通知我們潛在的問題。原始類型是其中之一。您被告知編譯器無法幫助您確保類型安全。但是編譯器應該能夠生成'.class'文件,所以你應該能夠運行這個代碼(並且如果你沒有編譯器的幫助,你可能會面臨一些*例外*)*你需要包含 – Pshemo
在類路徑中的jar使用-cp json-simple .... – efekctive
@efekctive我準備好在創建cass文件時做這件事:'javac -cp json-simple-1.1.1.jar JsonSimpleWriteExample.java' – user2567857