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

1380

被折叠的 条评论
为什么被折叠?



