org.apache.catalina.core.StandardContext startInternal SEVERE:错误listenerStart
我正在尝试在Tomcat 7上启动我的Web应用程序,但是每当我点击开始button时,就会出现以下错误:
失败 – 上下文path/ Web应用程序无法启动
并将下面的行添加到catalina.log
文件中:
2012年2月8日7:21:01 org.apache.catalina.core.StandardContext startInternal SEVERE:错误listenerStart 2012年2月8日下午7:21:01 org.apache.catalina.core.StandardContext startInternal SEVERE:Context [/ Web ]由于以前的错误,启动失败
这是如何造成的,我该如何解决?
我有一个类似的问题。 catalina.outlogging了这个日志消息
2013年4月17日下午5时14分46秒org.apache.catalina.core.StandardContext开始SEVERE:错误listenerStart
检查tomcat日志目录 (与catalina.out相同的目录)中的localhost.log ,查看导致此错误的exception。
严重:错误listenerStart
这可以归结@WebListener
类的@WebListener
注释或web.xml
的<listener>
声明注册的ServletContextListener
在contextInitialized()
方法内引发了未处理的exception。 这通常是由开发人员的错误(一个错误)引起的,需要修复。 例如,一个NullPointerException
。
完全的exception应该在特定于webapp的启动日志以及IDE控制台中可见, 然后才能进行拷贝。 如果没有,并且您仍然无法通过查看代码来查找exception的原因,请将整个contextInitialized()
代码放在try-catch
其中将exceptionlogging到可靠的输出,然后解释并修复因此。
对于Intellij Idea有时在不同位置生成的localhost.log文件。 例如,您可以在home目录\ .IntelliJIdea14 \ system \ tomcat中find它。
如果你正在使用spring,那么在debugging模式下启动你的服务器,并把debugging点放在org.springframework.context.support.AbstractApplicationContext的refresh()方法的catch块中。 如果bean创build失败,您将能够看到exception。
我在Spring Web应用程序中面对完全相同的问题。 实际上,我通过注释configuration注释去除了spring-security:
// @ImportResource({"/WEB-INF/spring-security.xml"})
但我忘记了在web.xml
删除相应的filter:
<!-- Filters --> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
评论filter解决了这个问题。
这可能是由于configuration侦听器时发生的多种原因造成的。 最好的方法是logging并查看实际的错误。 您可以通过将logging.properties
文件添加到类path的根目录下并使用以下内容来执行此操作:
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
select“所有项目”,然后右键单击
Maven->更新项目