2012-02-08 120 views
40

我想开始在Tomcat 7我的web应用程序,但每当我点击启动按钮,我得到这个错误:org.apache.catalina.core.StandardContext startInternal严重:错误listenerStart

FAIL - Application at context path /Web could not be started

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

Feb 08, 2012 7:21:01 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Feb 08, 2012 7:21:01 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/Web] startup failed due to previous errors

这是怎么造成的,如何解决呢?

+2

什么是以前的错误:你可以通过添加一个logging.properties文件到你的classpath的根目录包含以下内容做到这一点启动由于之前的错误而失败 – 2012-02-08 16:13:53

+1

@Mike:它们在IDE控制台/日志文件中并不总是可见的。我不知道为什么,它似乎是某个Eclipse版本,某个服务器插件make /版本和某些Tomcat版本的组合。 – BalusC 2012-02-08 16:16:49

回答

84

我有类似的问题。 catalina.out的记录日志信息的选项

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

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

+5

在我的情况下,它更像localhost.2013-06-06.log,所以IDEA中的默认日志查看器没有显示问题是什么 – Zotov 2013-06-18 11:18:14

+0

您的答案有助于进一步调试。谢谢! – 2013-08-27 19:44:06

+0

非常感谢! – DmitryKanunnikoff 2014-07-14 13:21:40

12

SEVERE: Error listenerStart

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

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

+1

我面临着同样的问题,你可以请多一点我可以试着抓住contextInitialized(),因为日志只是给出一个模糊的消息,我不能解释为程序员。 作为使用proGuard进行混淆后发生此问题的附加信息,我确保更新web.xml applicationContext.xml以及其他config xml。 – Genjuro 2012-04-16 10:58:02

2

我在Spring web应用程序中遇到了完全相同的问题。事实上,我已经通过注释配置注释去掉弹簧安全:

// @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> 

注释滤波器解决的问题。

4

对于Intellij Idea有时在不同位置生成的localhost.log文件。对于例如你可以在家庭目录\ .IntelliJIdea14 \ system \ tomcat中找到它。

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

1

这可能是由于配置侦听器时发生的多种原因造成的。最好的方法是记录并查看实际的错误。

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

0

选择“所有项目”,然后右键单击

Maven-> Update project