JSONObject ClassNotFoundException

kim*_*i12 10 java json intellij-idea maven classnotfoundexception

我在IntelliJ工作并使用maven.我有一个使用JSONObject的类,我已导入它

import org.json.JSONObject;
Run Code Online (Sandbox Code Playgroud)

在一个方法中我使用它如下:

    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);
    }
Run Code Online (Sandbox Code Playgroud)

我在pom.xml文件中也有依赖项

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我可以"mvn clean package"这段代码,一切都成功构建.但是当我尝试运行它时,我得到"Error:java.lang.ClassNotFoundException:org.json.JSONObject".

还有什么我在这里不见了吗?

谢谢!

Aly*_*mal 29

json jar添加到类路径中

或使用 java -classpath json.jar ClassName

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

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20090211</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


Akh*_*ain 5

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

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20171018</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


Jer*_*ong 5

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

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20200518</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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

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