2015-07-11 9 views
1

Я никогда не использовал JSON, так что это первый раз. Но я не могу заставить его работать правильно.Исключение Java NoClassDefFoundError для JSONObject

import org.json.*; // get everything ! 

//method not even done yet... 
public static String getJSON(String jsonSource, String key) { 

    JSONObject obj = new JSONObject(jsonSource); 
    return null; 
} 

Этот небольшой фрагмент кода выдает исключение. Компиляция также дала мне предупреждения.

предупреждение: JSON-20141113.jar (орг/JSON/JSONObject.class): основная версия 52 новее, чем 51, самая высокая основная версия поддерживается этим компилятор. Рекомендуется, чтобы компилятор был обновлен.

Я бегу Linux Mint 17 с этой версией Java:

java version "1.7.0_79" 
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2) 
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) 

является то, что причина, почему он не работает?

ответ

1

JDK 8 = 52 и JDK 7 = 51, то JSON -. * Баночка использовать скомпилирован с JDK 8, и вы компиляции кода с JDK 7.

Найти другую версию JDK для JSON 7 или компиляции кода с JDK 8.

Кстати, для JSON вы должны взглянуть на Jackson

0

вы должны обновить JDK. Ваша зависимость использует Java 8, и вы пытаетесь скомпилировать свой код с помощью JDK7.

0

Пакет используется составлен для JDK 8. См https://github.com/douglascrockford/JSON-java

К счастью нет особенность JDK 8 не используется в коде. Фактически, за исключением нескольких заявлений о множественном выводе (JDK 7), код совместим с JDK 5.

Я раздвоенный, что хранилище https://github.com/makeroo/JSON-java и перекомпилировать код для JDK 5 (мое требование было JDK 6 на самом деле, но я выбираю минимальное требование кода).

Смежные вопросы