Tomcat7启动报Error listenerStart错误

原文:http://www.cnblogs.com/nayitian/p/3439336.html


问题

Tomcat7在启动时报错,详细信息如下:

十一月 23, 2013 7:21:58 下午 org.apache.catalina.core.StandardContext startInter
nal
严重: Error filterStart
十一月 23, 2013 7:21:58 下午 org.apache.catalina.core.StandardContext startInter
nal
严重: Context [/st] startup failed due to previous errors

分析

Tomcat后台信息太少以至于不能得出问题空间出在哪儿(Tomcat的日志目录也无相关信息)。网上查询得知,通过配置Tomcat的Log,让它记录更多的日志信息,方能进一步分析原因。

在不能启动的Web应用目录(我这里是st)下WEB-INF/classes目录中,新建logging.properties文件,内容参考如下:

复制代码
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

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后,后台显示出了错误原因,并且Tomcat的日志目录中也出现了文件“error-debug.2013-11-23.log”,其中记录了错误详细信息。下面内容供参考(每个人出错的原因不一样,需要具体问题具体分析解决):

复制代码
严重: Exception starting filter struts2
Unable to load configuration. - action - file:/D:/Work/helloworld/WebContent/WEB
-INF/classes/struts.xml:8:67
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:483)
        at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOp
erations.java:74)
        at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
.init(StrutsPrepareAndExecuteFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(Applicati
onFilterConfig.java:277)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(Applicatio
nFilterConfig.java:258)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(Applica
tionFilterConfig.java:382)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFi
lterConfig.java:103)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.
java:4650)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5306)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
java:1549)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: Unable to load configuration. - action - file:/D:/Work/helloworld/Web
Content/WEB-INF/classes/struts.xml:8:67
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:70)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Di
spatcher.java:429)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471)
        ... 15 more
Caused by: Action class [com.clzhang.ssh.action.LoginAction] not found - action
- file:/D:/Work/helloworld/WebContent/WEB-INF/classes/struts.xml:8:67
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.ver
ifyAction(XmlConfigurationProvider.java:480)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.add
Action(XmlConfigurationProvider.java:424)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.add
Package(XmlConfigurationProvider.java:541)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loa
dPackages(XmlConfigurationProvider.java:290)
        at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages
(StrutsXmlConfigurationProvider.java:112)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContai
ner(DefaultConfiguration.java:239)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:67)
        ... 17 more

十一月 23, 2013 7:27:44 下午 org.apache.catalina.core.StandardContext startInter
nal
严重: Error filterStart
十一月 23, 2013 7:27:44 下午 org.apache.catalina.core.StandardContext startInter
nal
严重: Context [/st] startup failed due to previous errors
十一月 23, 2013 7:27:44 下午 org.apache.catalina.startup.HostConfig deployDirect
ory
复制代码

解决

是程序的问题,配置的相关Action类的包名更改了,但没有及时更改struts.xml文件导致上述结果。

有关Tomcat的日志相关配置参考:http://tomcat.apache.org/tomcat-7.0-doc/logging.html

 

本文参考:

http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html

可能有同学打不开上述页面,因为它被屏蔽了。摘录部分内容如下,供参考:

Just for future reference; even though the app worked fine in development mode, there were some bugs in the BootStrap when deploying to a real server. I realized errors in the BootStrap were creating the cryptic listererStart error.

In order to get better debug logging, place a file called "logging.properties" in the webapps WEB-INF/classes folder.  Then, your server logs will show descriptive errors for debugging:

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler


############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = servlet-examples.


java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

This will create a servlet-examples.log file in your appserver's log folder. This data was found at http://tomcat.apache.org/tomcat-7.0-doc/logging.html under the "Using java.util.logging (default)" header.

Hopefully this will help save someone some time and frustration when deploying their app, especially if, like me, they are unfamiliar with tomcat and the logging facilities.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值