How to use the org.json Java library with Java 7
我的应用程序中需要一些简单的JSON解析,而Douglas Crockford库似乎正是我所需要的。
但是,我似乎遇到了问题。 我收到以下错误:
Exception in thread"main" java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0
我用Google搜索了一下,我觉得这是由于某些版本不兼容所致。 我曾尝试更改Java版本,但似乎无济于事。 我在程序中使用了Java 7和Java 7功能,最终我想使用Java 7。
我该如何解决这个问题?
PS:我看了杰克逊和GSON,绝对不想使用任何一个,所以请不要提出其他建议。
-
Unsupported major.minor version 52.0表示该库是使用Java 8编译的。可以获取源代码并针对您的版本重新编译该库吗?
-
多数民众赞成在可行,但有点绕过使用包管理器...
您是否尝试过使用该软件包的旧版本?
尝试:http://mvnrepository.com/artifact/org.json/json/20140107
-
只是尝试这一点,似乎工作。 遗憾的是,即使我不能肯定地说,我也不认为该库"需要" Java 8,因此为Java 8进行编译似乎非常不必要。
-
@Luke就像MichaelT所说的那样,如果您真的想使用最新版本,则可以自己编译源代码。
-
是的 理解了,但是我更喜欢通过依赖管理器(例如Maven)来管理依赖。
-
验证版本20140107使用Maven 3.1.1 / Tycho 0.22.0 / JDK 7_17是否可以工作。 唯一的问题确实是MIT / DoNoEvil许可证-en.wikipedia.org/wiki/Douglas_Crockford#.22Good.2C_not_Evil.22
-
仍适用于jdk1.7.0_76。 我希望Maven有一个"与Java7兼容的最新版本"的地方,多数民众赞成我用最新的版本烧毁了我,并四处搜寻可用的版本。 并且,github页面上现在说道格拉斯·克罗克福德(Douglas Crockford)正在寻找一个新的维护者,截止日期为2015-02-06 ...
由于您使用的是JDK1.7,因此更改为较旧的版本将起作用!
1 2 3 4
| <groupId>org.json</groupId>
json</artifactId>
<version>20140107</version>
</dependency> |