15

我在 IntelliJ 工作并使用 Maven。我有一个类使用JSONObject

import org.json.JSONObject;

try {
  JSONObject documentObj = new JSONObject(document);
} catch (Exception e) {
  throw new RuntimeException("Failed to convert JSON String to JSON Object.", e);
}

pom.xml 文件中的 Maven 依赖项:

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

我可以做一个mvn clean package并成功构建。但是当我尝试运行它时,我得到:

错误:java.lang.ClassNotFoundException:org.json.JSONObject

还有什么我在这里想念的吗?谢谢!

4

4 回答 4

35

json jar添加到您的类路径

或使用java -classpath json.jar ClassName

或者将此添加到您的 maven pom.xml 依赖项中:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20090211</version>
</dependency>
于 2013-04-11T14:18:18.263 回答
6

截至今天(2020 年 7 月 15 日),您需要使用最新的 Maven 存储库,如下所示:

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

对于未来的任何新版本,您可以在这里查看:

然后只需将20200518替换为最新的新版本值即可。

于 2020-07-15T08:11:07.023 回答
5

使用最新的 Maven 依赖项为我解决了这个问题

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20171018</version>
</dependency>
于 2018-01-24T10:20:57.333 回答
0

最初我正在使用net.sf.json-lib,但每当我尝试使用.put()方法时,它都会与 JSONArray 产生问题

以下解决了我的问题:

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

虽然我不是很喜欢使用LATEST,但因为它是一个数字版本号,而不是更容易理解的版本控制,所以我发现这个对我有用。

于 2021-11-07T17:25:53.417 回答