Tomcat 启动报错:SEVERE: Error listenerStart
问题
今天处理一个问题,修改代码后部署到服务器后,启动tomcat时报错,错误信息如下:
org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/projectname] startup failed due to previous errors
Error listener
这个报错信息太过模糊,检查下web.xml 也并没有遗漏spring的监听器,我们要知道是什么引起的这个错误,就需要更详细的日志信息,这样我们就能够快速定位到错误点。因此我们需要修改tomcat的日志级别,让它输出我们需要的东西。
方法
在WEB-INF/classes
目录下新建一个文件叫logging.properties
,内容如下
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
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自带的log,进行日志输出。
添加了日志输出配置文件后,重启就能看到详细的报错了。我看了日志之后找到了自己的错误,是因为我本地编译环境使用的jdk比服务器上面的jdk版本高了,所以导致spring初始化bean的时候失败,所以导致的tomcat启动报错。
每个人的错无都不太一样,就不再赘述后面的错误修改了。