簡體   English   中英

將json jar添加到classpath java中

[英]Adding json jar to classpath java

我是Java世界的新手。 我想添加Json lib來編譯我的程序。 我從這里下載了文件。

當我嘗試編譯程序時

  javac -classpath json.jar MyClassName.java

我收到錯誤:

Note: JsonSimpleExample.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

當我試圖跑:

java MyClassName

我越來越:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
    at MyClassName.main(MyClassName.java:9)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more

我在哪里弄錯了?

在使用java運行時,您必須使用-classpath

java -classpath json.jar MyClassName

你犯了兩個錯誤:

  1. 從編譯器獲得的消息是注釋,而不是編譯錯誤。 按照說明獲取詳細信息
  2. 在運行應用程序時忘記設置類路徑:

     java -classpath json.jar;. MyClassName 

(假設您在Windows上,並且您在包含MyClassName.class的目錄中)。 如果您使用的是Unix,請更換; 通過:

請注意,將類放在默認的root包中是不好的做法。

錯誤的原因是,類在編譯期間出現並讓應用程序成功編譯並成功鏈接但在運行時不可用。

java -classpath json.jar MyClassName (or)

java -cp json.jar MyClassName

第一個輸出是來自Java編譯器的關於使用未經檢查的代碼(如原始集合)的警告。 類文件已成功生成。

如果要修復這些警告,則可以使用-Xlint命令行開關進行編譯並修復/禁止未檢查/不安全警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM