intellij IDEA运行web程序出现错误Error listenerStart

本文介绍了一种解决Tomcat启动失败的问题方法,通过配置logging.properties文件来生成详细的错误日志,进而定位到具体原因——缺失的类导致ClassNotFoundException。

18-Sep-2016 17:04:03.023 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Error listenerStart

18-Sep-2016 17:04:03.096 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/api] startup failed due to previous errors

出现上述问题,并没有明确给出错误到底出现在哪里。
解决步骤如下:
1、在工程目录WEB-INFO/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

2、重新构建和运行web项目,在tomcat下的logs文件夹中会生成error-debug开头的日志文件。
3、该日志文件中记录了具体引起Error listenerStart错误的原因,我这主要原因是 严重:
Error configuring application listener of class com.kindergartenmanagement.framework.listeners.MySessionListener
jvm 1 | java.lang.ClassNotFoundException: com.kindergartenmanagement.framework.listeners.MySessionListener
jvm 1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1295)
jvm 1 | at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1147)
jvm 1 | at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
jvm 1 | at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
jvm 1 | at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120)
jvm 1 | at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4693)
jvm 1 | at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
jvm 1 | at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
jvm 1 | at org.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1409)jvm1|atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1399)
jvm 1 | at java.util.concurrent.FutureTask.run(Unknown Source)
jvm 1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
jvm 1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
jvm 1 | at java.lang.Thread.run(Unknown Source)
出现上述错误是因为/WEB-INFO/classes下找不到com.kindergartenmanagement.framework.listeners.MySessionListener这个类,然后删除相应的class,重新生成即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值