2013-04-11 9 views
6

Pracuję w IntelliJ i używam maven. Mam klasy, która używa JSONObject, i przywieźli goJSONObject ClassNotFoundException

import org.json.JSONObject; 

iw sposób go używać tak:

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

Mam też zależność w pliku pom.xml

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

Mogę "mvn clean package" ten kod i wszystko buduje się pomyślnie. Ale gdy próbuję go uruchomić, pojawia się komunikat "Błąd: java.lang.ClassNotFoundException: org.json.JSONObject".

Czy jest coś jeszcze, czego tu brakuje?

Dzięki!

+1

Czy sprawdziłeś, że słoik jest w Twojej klasie ścieżka lub w pliku wojennym? – NullPointerException

+0

Mam mój projekt w intelliJ, i uruchamiam go za pomocą skryptu bash z linii poleceń w systemie Linux. – kimmii12

+0

Dobra, rozumiem - wszyscy mieli rację, nie miałem tego w mojej klasie. W skrypcie Bash ustawiono dwie zmienne: LIBJARS, słoiki wymagane przez zadanie oraz CLASSPATH. Ustawiłem to w CLASSPATH, ale w rzeczywistości było potrzebne w zmiennej LIBJARS .... radości przejmowania kodu innych osób. :) Dzięki za pomoc! – kimmii12

Odpowiedz

16

Dodaj json jar na ścieżce klas

lub użyj java -classpath json.jar ClassName

Albo dodać to do maven pom.xml depedencies:

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

Dobra, rozumiem - wszyscy mieli rację, nie miałem tego w swojej klasie. W skrypcie Bash ustawiono dwie zmienne: LIBJARS, słoiki wymagane przez zadanie oraz CLASSPATH. Ustawiłem to w CLASSPATH, ale w rzeczywistości było potrzebne w zmiennej LIBJARS .... radości przejmowania kodu innych osób. :) Dzięki za pomoc! – kimmii12

+0

Serdecznie zapraszamy :) –

+0

To jest najnowsza zależność i nie wydaje się mieć "import org.json.JSONObject;". Czy mógłbyś jak najszybciej kierować? \t com.google.code.gson \t gson \t 2.3.1 Prateek

0

wykorzystaniem najnowszych zależność maven rozwiązać ten problem dla mnie

<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20171018</version> 
</dependency> 
Powiązane problemy