2013-04-11 12 views
6

私はIntelliJで作業していて、mavenを使用しています。私はJSONObjectを使用するクラスを持っている、と私はそれをJSONObject ClassNotFoundException

import org.json.JSONObject; 

を輸入してきたし、この方法では、私はそうのようにそれを使用する:私はまた、pom.xmlファイルで依存関係を持っている

JSONObject documentObj = null; 
    try { 
     documentObj = new JSONObject(document); 
    } catch (Exception e) { 
     throw new RuntimeException("Failed to convert JSON String document into a JSON Object.", e); 
    } 

<dependency> 
     <groupId>org.json</groupId> 
     <artifactId>json</artifactId> 
     <version>20090211</version> 
    </dependency> 

このコードを "mvn clean package"できますが、すべて正常に構築されます。しかし、私はそれを実行しようとすると、私は "エラー:java.lang.ClassNotFoundException:org.json.JSONObject"を取得します。

ここに他に何かがありますか?

ありがとうございます!

+1

jarがあなたのクラスに含まれていることを確認しましたか?パスか戦争ファイル? – NullPointerException

+0

私はintelliJで自分のプロジェクトを持っており、Linuxのコマンドラインからbashスクリプトを使って実行します。 – kimmii12

+0

申し訳ありませんが、私はそれを得ました - あなたは正しく、私はクラスパスでそれを持っていませんでした。 bashスクリプトには、LIBJARS、ジョブに必要なJAR、CLASSPATHという2つの変数が設定されていました。私はCLASSPATHに設定しましたが、実際にはLIBJARS変数に必要でした....他のコードを引き継ぐことの喜び。 :) 助けてくれてありがとう! – kimmii12

答えて

16

は、あなたのクラスパスに

json jarを追加するか、java -classpath json.jar ClassName

を使用したり、Mavenののpom.xmlのdepedenciesにこれを追加します。最新のMavenの依存関係を使用して

<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20090211</version> 
</dependency> 
+0

申し訳ありませんが、私はそれを得ました - あなたは正しく、私はクラスパスでそれを持っていませんでした。 bashスクリプトには、LIBJARS、ジョブに必要なJAR、CLASSPATHという2つの変数が設定されていました。私はCLASSPATHに設定しましたが、実際にはLIBJARS変数に必要でした....他のコードを引き継ぐことの喜び。 :) 助けてくれてありがとう! – kimmii12

+0

あなたは大歓迎です:) –

+0

これは最新の依存関係であり、 "import org.json.JSONObject;"を持たないようです。できるだけ早くご案内していただけますか? \t com.google.code.gson \t gson \t 2.3.1 Prateek

0

は私

のための問題を解決しました
<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20171018</version> 
</dependency>