org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart
I had a similar problem. The catalina.out logged this log Message
Apr 17, 2013 5:14:46 PM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart
Check the localhost.log in the tomcat log directory (in the same directory as catalina.out), to see the exception which caused this error.
SEVERE: Error listenerStart
This boils down to that a ServletContextListener
which is registered by either @WebListener
annotation on the class, or by a <listener>
declaration in web.xml
, has thrown an unhandled exception inside the contextInitialized()
method. This is usually caused by a developer's mistake (a bug) and needs to be fixed. For example, a NullPointerException
.
The full exception should be visible in webapp-specific startup log as well as the IDE console, before the particular line which you've copypasted. If there is none and you still can't figure the cause of the exception by just looking at the code, put the entire contextInitialized()
code in a try-catch
wherein you log the exception to a reliable output and then interpret and fix it accordingly.
For Intellij Idea sometime localhost.log file generated at different location. For e.g. you can find it at homedirectory\ .IntelliJIdea14\system\tomcat.
IF you are using spring then start ur server in debug mode and put debug point in catch block of org.springframework.context.support.AbstractApplicationContext's refresh() method. If bean creation fails you would be able to see the exception.
I faced exactly the same issue in a Spring web app. In fact, I had removed spring-security by commenting the config annotation:
// @ImportResource({"/WEB-INF/spring-security.xml"})
but I had forgotten to remove the corresponding filters in 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>
Commenting filters solved the issue.
It can be due to a number of reasons happening when configuring the listener. Best way is to log and see the actual error. You can do this by adding a logging.properties
file to the root of your classpath with the following contents:
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler