ClassNotFoundException:org.slf4j.Logger

时间:2014-03-29 18:04:52

标签: java tomcat logging ant slf4j

我尝试使用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添加为依赖项之外,可能还有其他原因导致此问题。 任何形式的帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:4)

您需要添加应用所需的.jar文件 $ TOMCAT / web应用/ $ YOUR_WEB_APP / WEB-INF / LIB /

然后重启tomcat。

答案 1 :(得分:0)

我通过在下面复制这两个JAR解决了这个问题。

来自(假设您使用的是 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安装文件夹):

  • apache-tomcat-M.M.MM/lib