java.lang.ClassNotFoundException:org.json.JSONObject

java.lang.ClassNotFoundException:org.json.JSONObject,java,json,maven,Java,Json,Maven,我正在EclipseMars中开发一个WAR项目,它运行在Tomcat7应用服务器上。我还使用Java JSON API从REST web服务创建JSONObject。我已确保pom.xml文件包含JSON依赖项,以便下载正确的jar <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifac

我正在EclipseMars中开发一个WAR项目,它运行在Tomcat7应用服务器上。我还使用Java JSON API从REST web服务创建JSONObject。我已确保pom.xml文件包含JSON依赖项,以便下载正确的jar

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20151123</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.2</version>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.12</version>
    </dependency>
</dependencies>
感谢您的帮助。
谢谢。

您可以使用jackson mapper将对象更改为json

<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>

使用gradle和eclipse,我通过在运行命令java-cp build/libs/jarFile.jar:build/libs/*projectName.mainClassName中显式指定被引用库的目录来解决这个问题。这是假设被引用的.jar文件位于build/libs/*

json jar是否包含有问题的类?jar是否存在于应用程序的lib文件夹/classpath中?Maven依赖项只是一个提示,而不是答案?是的,jar中包含JSONObject类。我的WebContent>WEB-INF>lib文件夹为空。tomcat将仅从lib文件夹中拾取JAR。如果找不到jar,它肯定会抛出异常。@Anshul,Maven将在WAR期间根据pom.xml.Hi中声明的条目构建自动填充/WEB-INF/lib。我使用了Maven WAR插件,在我的项目的部署程序集设置中,我选择在WEB-INF/lib文件夹中包含Maven依赖项。一切都解决了我可以将我的对象转换为JSONObject。我的问题是,当在TomcatWeb服务器上运行时,servlet不会拾取jar,尽管它位于我的maven pom.xml文件中。首先,如果使用EclipseIDE,请按Alt+f5并检查强制更新并应用它。然后您需要创建war,然后应用步骤:右键单击左侧的项目,然后选择RunAs->maven install,以便在流程完成后在项目的目标文件夹中找到war文件。复制war文件并粘贴到tomcat服务器c:/apache7.0/webapps中,然后转到c://apache/bin->open startup.exe并在浏览器上检查它,如locahost:8080/war\u file\u name。
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>