JSONObject的Java NoClassDefFoundError异常

JSONObject的Java NoClassDefFoundError异常,java,json,Java,Json,我从未使用过JSON,所以这是第一次。但我甚至不能让它正常工作 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,所以这是第一次。但我甚至不能让它正常工作

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(org/json/JSONObject.class):主要版本 52比51更新,51是此版本支持的最高主版本 编译器。建议升级编译器

我使用以下版本的java运行linux mint 17:

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)

这就是它不起作用的原因吗?

JDK 8=52和JDK 7=51,您使用的json-*.jar是用JDK 8编译的,您正在用JDK 7编译代码

为JDK 7找到另一个json版本,或使用JDK 8编译代码


顺便说一下,对于JSON,您应该查看一下,您必须更新JDK。您的依赖项使用Java 8,您尝试使用JDK7编译代码。

您正在使用的包是为JDK 8编译的。 看

幸运的是,代码中没有使用JDK 8特性。事实上,除了几个multi-catch语句(JDK 7)之外,代码与JDK 5兼容

我用叉子叉了那个仓库 并为JDK5重新编译代码(实际上我的要求是JDK6,但我选择最低的代码要求)