1. 程式人生 > >報錯信息 Context []startup failed due to previous errors

報錯信息 Context []startup failed due to previous errors

tom 老師 con 設置 asp 定位 空間不足 logs myeclips

文章轉自: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