我在tomcat7上部署了3个项目,结果2个可以访问,1个不能访问。一查原因错误是:Error listenerStart
Error listenerStart 是什么错误,百度了几下,百度不出来,后来解决方法寄托到了tomcat7日记文件上,能不能有个详细的错误信息那不就找到问题了吗?处于这个想法,下面这样做:
在错误的项目路径WEB-INF\classes\下建立属性文件logging.properties,内容是:
handlers = org.apache.juli.FileHandler,java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info forHandlers.
############################################################
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
然后重启tomcat,查看错误文件:
内容是:
大概意思就是:
Web应用程序的根系统属性设置为不同的值 'xx' = [C:\Tomcat7\webapps\hhh\] 而不是[C:\Tomcat7\webapps\ggg\]
选择独特的值webAppRootKey context-param在web。xml文件!
错误原因找到了,也就是说:webAppRootKey的值只能是唯一的,如果一个tomcat部署了两个项目,而且这两个项目下的web.xml配置文件中的webAppRootKey配置信息的值相同的话,就出错了。如下两个配置相同情况
项目1的web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>hehe </param-value>
</context-param>
项目2的web.xml
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>hehe </param-value>
</context-param>
值都是hehe,那么久出错,必须不一样才行。