zoukankan      html  css  js  c++  java
  • Tomcat启动堆栈异常

    近日部署项目到Tomcat,访问一直404。

    于是查看 catalina.out 日志信息,发现如下信息

    30-Jun-2019 16:38:03.642 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
    30-Jun-2019 16:38:03.646 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/XXX] startup failed due to previous errors
    

    其实还是没有看明白原因,只知道项目启动失败

    再次查看 localhost.2019-06-30.log 发现如下循环输出的异常信息:

    30-Jun-2019 16:13:56.351 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener]
    	java.lang.StackOverflowError
    		at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39)
    		at org.apache.log4j.LogManager.getLogger(LogManager.java:45)
    		at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
    		at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
    		at org.apache.log4j.Category.<init>(Category.java:57)
    		at org.apache.log4j.Logger.<init>(Logger.java:37)
    		at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:43)
    		at org.apache.log4j.LogManager.getLogger(LogManager.java:45)
    		at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
    		at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
    		at org.apache.log4j.Category.<init>(Category.java:57)
    		at org.apache.log4j.Logger.<init>(Logger.java:37)
    

     

    推测是jar包冲突:log4j-over-slf4j.jar 和 slf4j-log4j12.jar 

    果然在 WEB-INFlib 里面找到这两个家伙,于是先删除log4j-over-slf4j.jar,在重启tomcat,通过浏览器能够正常访问。

    我们的是maven项目,用的Idea。

    打开pom.xml文件

    右键 -> Maven -> Show Dependencies

    然后打开依赖的图, 看到依赖关系之后,

    ctrl+f 在弹出框Diagram Elements 找到 log4j-over-slf4j 点进去:

    右键 -> Exclude 即可。

    最终在pom.xml文件里自动生成排除我们在界面exclude的依赖。

    重新打包项目,发布war包到tomcat,能正常启动,访问。

    问题解决。

  • 相关阅读:
    算法:希尔排序(Shell Sort)
    算法:五步教你消除递归
    算法:排列算法
    算法:逆波兰表达式求值
    算法:中缀表达式转换为逆波兰表达式
    算法:优先级队列(PriorityQueue)
    Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。
    算法:基于 RingBuffer 的 Deque 实现
    算法:基于 RingBuffer 的 Queue 实现《续》
    算法:基于 RingBuffer 的 Queue 实现
  • 原文地址:https://www.cnblogs.com/liuxiutianxia/p/11110683.html
Copyright © 2011-2022 走看看