当我试图在 unix 服务器上启动我的 tomcat 时,我在 catalina.out 中收到以下异常
INFO: Starting Servlet Engine: Apache Tomcat/7.0.37 Handler error java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:521) at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:464)
谁能帮忙解决这个问题?
最佳答案
您的应用程序 war 中没有打包所有库。您需要将所有 slf4j 库放在应用程序的 WEB-INF\lib
目录中。
如果您的 webapp
目录是空的,那么您可能将 Tomcat 配置为以某种方式使用 slf4j。如果是这种情况,那么您需要 Tomcat 的 lib
目录中的 jul-to-slf4j.jar
。供您引用,我在 GrepCode 中找到了图书馆的名称.您可以从 Maven Central 下载 jul-to-slf4j.jar
.
如果这是 Tomcat 的全新安装,我会重新安装 Tomcat,因为它不应该有那样的行为。
关于java.lang.ClassNotFoundException : org. slf4j.bridge.SLF4JBridgeHandler 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625754/