報錯信息 Context []startup failed due to previous errors
文章轉自:http://blog.sina.com.cn/s/blog_49b4a1f10100q93e.html
框架搭建好後,啟動服務器出現如下的信息:
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
log4j:WARN Please initialize the log4j system properly.
2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start
嚴重: Error listenerStart
2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start
嚴重: Context startup failed due to previous errors
2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /tomcat-docs from URL file:D:\server\Tomcat 5.0\webapps\tomcat-docs
2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /webdav from URL file:D:\server\Tomcat 5.0\webapps\webdav
。。。。
可能出錯的地方:
1.web.xml文件 web應用部署描述符,裏面的部署的xml文件或者類,如果這些找不到就會發生startup failed due to previous errors錯誤。
2.如果在應用spring的話,在配置文件applicationContext.xml中定義的類、xml文件找不到也會報這個錯誤。
3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一點錯誤都可能引起上面的這個問題,而不僅僅是附帶的文件錯誤導致。
4.如果使用ibatis的話,在SqlMapConfig.xml中定義的xml文件找不到也會報這個錯誤。(hibernate的配置在整合spring的時候使用spring的配置文件)
5.JDK的版本問題,最好使用JDK5.0 或者更高的版本。
6.Eclipse和tomcat的版本兼容問題
7.框架整合的過程中在導入到lib下的jar包沖突也可能產生該錯誤。
8.jar包的缺少以及jar包的版本也可產生該錯誤。
9.其他的原因
解決該問題的途徑:
由於上面問題可能已經是web服務器內部產生了錯誤,而且IDE中的Log信息較少,問題的解決很難入手。
而該問題的產生經常會導致頁面跳轉尋找不到文件的 Http 404 錯誤。。。。。
可以通過在tomcat中添加log文件來讓log信息提示的更精確一些,即設置log輸出的等級。
1.tomcat的安裝路徑下tomcat home下的common文件夾下的classes文件夾中創建log4j.properties文件,即
。。。Apache Software Foundation\Tomcat 5.5\common\classes
log4j.properties配置如下(配置是轉載):
log4j.rootLogger=info,Console,R
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n
log4j.logger.org.apache=info,R
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R
log4j.logger.org.apache.catalina.core=info,R
log4j.logger.org.apache.catalina.session=info,R
2.將log4j-1.2.15.jar和commons-logging.jar包拷貝到。。。Apache Software Foundation\Tomcat 5.5\common\lib下即可。
做好上面兩步,啟動服務器的時候,會在tomcat的安裝路徑下的。。Apache Software Foundation\Tomcat 5.5\logs下自動的
生成tomcat.log文件以記錄日誌信息。
註:tomcat.log文件中的日誌信息會記載很多,如果過大就可能產生磁盤空間不足的問題,建議定時的清除日誌信息。
通過上面的日誌文件信息可以定位到比較具體的問題根源,在仔細的查看問題一一攻破即可解決。
我在搭建框架之後,在web.xml文件中配置的歡迎頁面顯示的時候報404的錯誤,通過上面的途徑找到了兩個錯誤,雖然花了兩天的時間,最終還是解決了。
在編程中尋找歡樂,在歡樂中自由編程!!!!
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/MCpang/archive/2010/04/09/5468386.aspx
果然,加上日誌文件後,顯示出來是關於 spring的。
我在項目上加了spring的jar.雖然沒有用上,但由於struts和hibernate(具體是哪個我記不清楚了,官老師說的)與spring有相關聯系,在啟動項目時,就連帶的會加載spring jar包的相關內容,而由於我並沒有用spring,所以也沒有設置它的配置。所以出錯了。
解決方法:
刪除spring的jar,還有一個是struts2-spring-plugin-2.1.6.jar也是用上了spring的。
刪除就OK
而且在Eclipse上,web.xml內 <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
若這樣配置,則<form action="login" method="post">不能是.do
必須保持一致。
以前用myEclipse沒有註意到此問題。
新浪網友
感謝樓主豪華分享,我是因為applicationContext.xml編碼不對才報的這個錯誤。
我的錯誤是因為:db2的jar包版本不同造成的。
報錯信息 Context []startup failed due to previous errors