2013-04-11 22 views
6

Sto lavorando in IntelliJ e uso Maven. Ho una classe che utilizza JSONObject, e ho importatoJSONObject ClassNotFoundException

import org.json.JSONObject; 

e in un metodo che uso in questo modo:

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); 
    } 

Ho anche la dipendenza nel file pom.xml

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

Posso "mvn clean package" questo codice e tutto si costruisce con successo. Ma quando provo a eseguirlo, ricevo "Errore: java.lang.ClassNotFoundException: org.json.JSONObject".

C'è qualcos'altro che mi manca qui?

Grazie!

+1

Hai controllato che il barattolo è nella tua classe percorso o nel file di guerra? – NullPointerException

+0

Ho il mio progetto in intelliJ, e lo eseguo usando uno script bash dalla riga di comando in linux. – kimmii12

+0

Va bene, ho capito - avevate ragione, non ce l'avevo nel mio classpath. C'erano due variabili impostate nello script bash: LIBJARS, i jar richiesti dal lavoro e CLASSPATH. L'ho impostato nel CLASSPATH, ma in realtà era necessario nella variabile LIBJARS .... le gioie di prendere il controllo del codice degli altri. :) Grazie per il tuo aiuto! – kimmii12

risposta

16

Aggiungi json jar al classpath

o utilizzare java -classpath json.jar ClassName

o aggiungere questo ai vostri Maven depedencies pom.xml:

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

Va bene, ho capito - avevate ragione, non l'avevo nel mio classpath. C'erano due variabili impostate nello script bash: LIBJARS, i jar richiesti dal lavoro e CLASSPATH. L'ho impostato nel CLASSPATH, ma in realtà era necessario nella variabile LIBJARS .... le gioie di prendere il controllo del codice degli altri. :) Grazie per il tuo aiuto! – kimmii12

+0

Siete i benvenuti :) –

+0

Questa è l'ultima dipendenza e non sembra avere "import org.json.JSONObject;". Potresti per favore guidare al più presto? \t com.google.code.gson \t GSON \t 2.3.1 Prateek

0

Utilizzando l'ultima dipendenza Maven risolto il problema per me

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