原文地址: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.