org.apache.catalina.core.StandardContext startInternal SEVERE:错误 listenerStart

Posted

技术标签:

【中文标题】org.apache.catalina.core.StandardContext startInternal SEVERE:错误 listenerStart【英文标题】:org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart 【发布时间】:2012-03-01 02:41:19 【问题描述】:

我正在尝试在 Tomcat 7 上启动我的 Web 应用程序,但是每当我单击启动按钮时,我都会收到以下错误:

FAIL - 无法启动上下文路径 /Web 处的应用程序

以下行被添加到catalina.log 文件中:

2012 年 2 月 8 日晚上 7:21:01 org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart 2012 年 2 月 8 日晚上 7:21:01 org.apache.catalina.core.StandardContext startInternal SEVERE:上下文 [/Web] 之前的错误导致启动失败

这是如何引起的,我该如何解决?

【问题讨论】:

以前的错误是什么:由于以前的错误,启动失败 @Mike:它们并不总是在 IDE 控制台/日志文件中可见。我不确定为什么,它似乎是某些 Eclipse 版本、某些服务器插件 make/version 和某些 Tomcat 版本的组合。 【参考方案1】:

严重:错误 listenerStart

这归结为ServletContextListener 由类上的@WebListener 注释或web.xml 中的<listener> 声明注册,在contextInitialized() 方法中引发了未处理的异常。这通常是由开发人员的错误(错误)引起的,需要修复。例如,NullPointerException

完整的异常应该在特定于 webapp 的启动日志以及 IDE 控制台中可见,您复制粘贴的特定行之前。如果没有,并且您仍然无法通过查看代码来确定异常的原因,请将整个 contextInitialized() 代码放在 try-catch 中,在其中将异常记录到可靠的输出中,然后解释并修复它相应地。

【讨论】:

我面临着同样的问题,你能不能再请一点我可以尝试捕捉 contextInitialized() ,因为日志只给出了一个模糊的消息,我无法将其解释为程序员。作为附加信息,这个问题是在使用 proGuard 混淆后发生的,我确保更新 web.xml applicationContext.xml 以及其他配置 xml。【参考方案2】:

我在 Spring Web 应用程序中遇到了完全相同的问题。事实上,我已经通过注释配置注释删除了 spring-security:

// @ImportResource("/WEB-INF/spring-security.xml")

但我忘记删除web.xml中的相应过滤器:

<!-- 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>

评论过滤器解决了这个问题。

【讨论】:

【参考方案3】:

我遇到了类似的问题。 catalina.out 记录了这个日志消息

2013 年 4 月 17 日下午 5:14:46 org.apache.catalina.core.StandardContext 开始 严重:错误 listenerStart

查看tomcat日志目录中的localhost.log(与catalina.out在同一目录下),查看导致此错误的异常。

【讨论】:

在我的情况下,它更像是 localhost.2013-06-06.log,所以 IDEA 中的默认日志查看器没有显示问题所在 您的回答有助于进一步调试。谢谢!【参考方案4】:

对于 Intellij Idea,有时会在不同位置生成 localhost.log 文件。例如你可以在 homedirectory\.IntelliJIdea14\system\tomcat 找到它。

如果您使用的是 spring,则以调试模式启动您的服务器,并将调试点放在 org.springframework.context.support.AbstractApplicationContext 的 refresh() 方法的 catch 块中。如果 bean 创建失败,您将能够看到异常。

【讨论】:

【参考方案5】:

这可能是由于配置侦听器时发生的多种原因造成的。最好的方法是记录并查看实际错误。您可以通过将logging.properties 文件添加到您的类路径的根目录来执行此操作,其中包含以下内容:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

【讨论】:

【参考方案6】:

选择“所有项目”并右键单击

Maven-> 更新项目

【讨论】:

以上是关于org.apache.catalina.core.StandardContext startInternal SEVERE:错误 listenerStart的主要内容,如果未能解决你的问题,请参考以下文章

org.apache.catalina.core.StandardContext startInternal SEVERE:错误 listenerStart

tomcat(11)org.apache.catalina.core.StandardWrapper源码剖析

idea tomcat 启动报错 org.apache.catalina.core.StandardService.initInternal Failed to initialize connecto

gradle问题“main”groovy.lang.MissingPropertyException:没有这样的属性:类的baseDir:org.apache.catalina.core.Standa

tomcat(12)org.apache.catalina.core.StandardContext源码剖析

org.apache.catalina.core.StandardWrapperValve invoke的解决办法