Tomcat7啓動報Error listenerStart錯誤--轉載

原文地址:http://www.cnblogs.com/nayitian/p/3439336.htmlhtml

問題

Tomcat7在啓動時報錯,詳細信息以下:java

十一月 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 errorsweb

分析

Tomcat後臺信息太少以致於不能得出問題空間出在哪兒(Tomcat的日誌目錄也無相關信息)。網上查詢得知,經過配置Tomcat的Log,讓它記錄更多的日誌信息,方能進一步分析緣由。apache

在不能啓動的Web應用目錄(我這裏是st)下WEB-INF/classes目錄中,新建logging.properties文件,內容參考以下:tomcat

複製代碼
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」,其中記錄了錯誤詳細信息。下面內容供參考(每一個人出錯的緣由不同,須要具體問題具體分析解決):app

複製代碼
嚴重: 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文件致使上述結果。ssh

有關Tomcat的日誌相關配置參考:http://tomcat.apache.org/tomcat-7.0-doc/logging.htmlwebapp

 

本文參考:

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

可能有同窗打不開上述頁面,由於它被屏蔽了。摘錄部份內容以下,供參考:this

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. 

相關文章
相關標籤/搜索