问题描述
今天好不容易写完一个程序,本地调试完毕,然后很开心的发布到测试环境,然后诡异的事情发生了————tomcat死活起不来。
我想这种问题,大家应该都遇到过,本地起的好好的,其他环境就是起不来,很明显是环境问题吗。看看哪里报错了,定位堆栈就可以了。
但是,这次的问题比较诡异,看tomcat的启动日志:catalina,打印内容完全没有报错,最后显示还是tomcat起来了,这问题就比较诡异了,没有日志,没有堆栈报错,怎么定位问题,难道靠猜?!!
问题解决
尝试了几个方法,没有解决问题,寻找万能的百度同学,查到了一个解决方案,即:
在项目部署的路径下的class路径下,添上一个日志配置文件,这样就会把tomcat启动过程中内部的日志打印出来,日志内容如下:
logging.properties
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
然后重新启动tomcat,就可以看到错误的堆栈日志信息了,也就可以定位问题了。
问题原因
由于问题的原因千奇百怪,也就不过多分析了。这里就大致说一下我的问题的原因,以供参考。
我的问题是由于包冲突导致的,找到问题好,把原先的jar包依赖干掉就可以了。相对比较简单!