我正在尝试使用 ANT 将 Web 应用程序部署到 tomcat,但我遇到了此错误(该应用程序在一个简单的 ant 任务中编译良好。重新启动 Tomcat 时会出现此问题):
堆栈跟踪:
Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 24 more
我在这里红了几个答案,指出除了slf4j
实现之外,log4j
.以下是build.xml
文件的摘录:
<pathelement location="${slf4j-api-1.7.2.jar}"/>
<pathelement location="${log4j.jar}"/>
这些是构建的 javac
命令的类路径中使用的路径元素。
除了不添加 log4j 作为依赖项之外,此问题的其他原因可能是什么。任何帮助都将不胜感激。谢谢!
您需要添加应用所需的.jar文件$TOMCAT/webapps/$YOUR_WEB_APP/WEB-INF/lib/
,然后重新启动雄猫。
我在下面复制这 2 个 JAR 解决了这个问题。
from (假设您使用 Maven 来管理依赖项):
- .m2/repository/org/slf4j/slf4f-api/N.N.NN/slf4j-api-N.N.NN.jar
- .m2/repository/org/slf4j/slf4f-log4j12/N.N.NN/slf4j-log4j12-N.N.NN.jar
到(阿帕奇安装文件夹):
- apache-tomcat-M.M.MM/lib