NoClassDefFoundError when 运行 app with external lib with Tomcat
NoClassDefFoundError when running app with external lib with Tomcat
我正在尝试 运行 使用 Apache Tomcat 5.5 的项目。因为我没有 pom.xml,我需要使用 Json 库,所以我在 IntelliJ 中将该特定库添加到我的依赖项(项目结构 -> 模块 -> 依赖项)中,使用 "compile"范围。我的 IDE 没有显示任何错误或警告,我可以很好地构建项目。但是,当我 运行 它与 Apache Tomcat 5.5(配置如下)
<Context path="/EmblematicaHispanica" docBase="C:\Users\dantelo\IdeaProjects\emblematica-hispanica" debug="0">
<!-- EmblematicaHispanica -->
<Resource
name="jdbc/J2EE-ExamplesDS"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/emblema?useSSL=false"
username="..."
password="..."
maxActive="4"
maxIdle="2"
maxWait="10000"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
validationQuery="SELECT 1"/>
</Context>
一切正常,除了我调用使用该库的函数时出现以下错误:
java.lang.NoClassDefFoundError: org/json/JSONObject
我一直在寻找解决方案,但到目前为止还没有成功
我建议您检查您的 json 库是否存在于您的项目输出路径中(项目结构 -> 工件),IntelliJ reads.class 文件在您的项目输出路径中运行.
我刚刚找到了解决方案。这比我想象的要简单得多。我将库从系统资源管理器复制到 Web inf 中的 "lib" 文件夹,现在可以使用了!
我正在尝试 运行 使用 Apache Tomcat 5.5 的项目。因为我没有 pom.xml,我需要使用 Json 库,所以我在 IntelliJ 中将该特定库添加到我的依赖项(项目结构 -> 模块 -> 依赖项)中,使用 "compile"范围。我的 IDE 没有显示任何错误或警告,我可以很好地构建项目。但是,当我 运行 它与 Apache Tomcat 5.5(配置如下)
<Context path="/EmblematicaHispanica" docBase="C:\Users\dantelo\IdeaProjects\emblematica-hispanica" debug="0">
<!-- EmblematicaHispanica -->
<Resource
name="jdbc/J2EE-ExamplesDS"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/emblema?useSSL=false"
username="..."
password="..."
maxActive="4"
maxIdle="2"
maxWait="10000"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
validationQuery="SELECT 1"/>
</Context>
一切正常,除了我调用使用该库的函数时出现以下错误:
java.lang.NoClassDefFoundError: org/json/JSONObject
我一直在寻找解决方案,但到目前为止还没有成功
我建议您检查您的 json 库是否存在于您的项目输出路径中(项目结构 -> 工件),IntelliJ reads.class 文件在您的项目输出路径中运行.
我刚刚找到了解决方案。这比我想象的要简单得多。我将库从系统资源管理器复制到 Web inf 中的 "lib" 文件夹,现在可以使用了!