2013-04-11 2 views
6

Я работаю в IntelliJ и использую maven. У меня есть класс, который использует JSONObject, и я импортировал егоJSONObject ClassNotFoundException

import org.json.JSONObject; 

и в методе я использую его следующим образом:

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

У меня также есть зависимость в файле pom.xml

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

Я могу «mvn clean package» этот код и все строится успешно. Но когда я пытаюсь запустить его, я получаю сообщение «Ошибка: java.lang.ClassNotFoundException: org.json.JSONObject».

Есть ли что-нибудь еще, что мне не хватает здесь?

Спасибо!

+1

Вы проверили, что банка в вашем классе пути или в военном файле? – NullPointerException

+0

У меня есть мой проект в intelliJ, и я запускаю его, используя скрипт bash из командной строки в linux. – kimmii12

+0

Хорошо, я понял - все было правильно, у меня не было этого в моем пути. В сценарии bash были две переменные: LIBJARS, банки, требуемые заданием, и CLASSPATH. Я установил его в CLASSPATH, но на самом деле это было необходимо в переменной LIBJARS .... радости принятия чужого кода. :) Спасибо за помощь! – kimmii12

ответ

16

Добавить json jar на свой путь к классам

или использовать java -classpath json.jar ClassName

Или добавьте в ваш Maven pom.xml depedencies:

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

Хорошо, я понял - все было правильно, у меня не было этого в моем классе. В сценарии bash были две переменные: LIBJARS, банки, требуемые заданием, и CLASSPATH. Я установил его в CLASSPATH, но на самом деле это было необходимо в переменной LIBJARS .... радости принятия чужого кода. :) Спасибо за помощь! – kimmii12

+0

Добро пожаловать :) –

+0

Это последняя зависимость, и она, похоже, не имеет «import org.json.JSONObject;». Не могли бы вы посоветовать как можно скорее? \t com.google.code.gson \t gson \t 2.3.1 Prateek

0

Используя самую последнюю зависимость Maven решить проблему для меня

<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20171018</version> 
</dependency> 
Смежные вопросы