解決Tomcat Error listenerStart 問(wèn)題
昨天部署web應(yīng)用到Tomcat之后,無(wú)法成功啟動(dòng),并且控制臺(tái)沒(méi)有詳細(xì)的錯(cuò)誤信息,
頂多就兩行提示信息,例如:
嚴(yán)重: Error listenerStart
嚴(yán)重: Context [/] startup failed due to previous errors
或者
嚴(yán)重: Error filterStart
org.apache.catalina.core.StandardContext start
嚴(yán)重: Context startup failed due to previous errors
查找logs目錄下的信息,除了這兩句話,也沒(méi)別的輔助內(nèi)容.
給查錯(cuò)帶來(lái)了困難,在這種情況下,是因?yàn)門omcat自身的默認(rèn)日志沒(méi)有將一些錯(cuò)誤信息輸出到控制臺(tái)或文件,
這個(gè)時(shí)候則需要配置Tomcat自身的log,啟用詳細(xì)的調(diào)試日志.
3.log4j配置文件:
log4j.properties
配置內(nèi)容為:
log4j.rootLogger=ERROR,R
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p]%t-%c-%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p]%t-%c-%m%n
log4j.logger.org.apache.catalina=INFO,R,CONSOLE
#日志級(jí)別不能太低,如果配置為debug的話,輸出的日志信息太多,導(dǎo)致tomcat啟動(dòng)非常的慢.
4.Tomcat 6.0所需的juli替換文件:
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.18/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.18/bin/extras/tomcat-juli.jar
以上兩個(gè)鏈接基本沒(méi)用,大家可以搜索一下,csdn上面有人提供jar包下載,這里附件也不能加,沒(méi)有辦法。
在Tomcat6.0中,
將tomcat-juli-adapters.jar,log4j-1.2.15.jar,log4j.properties復(fù)制到D:\Java\ApacheTomcat6.0.14\lib下面.
將tomcat-juli.jar復(fù)制到D:\Java\apache-tomcat-6.0.14\bin\下面.
然后啟動(dòng)tomcat,就可以在D:\Java\apache-tomcat-6.0.14\logs下看到tomcat.log了.
在這個(gè)時(shí)候,再通過(guò)日志文件來(lái)分析,則會(huì)發(fā)現(xiàn)出現(xiàn)這種錯(cuò)誤的情況可能有:
(以下是我遇到的出錯(cuò)情況,大多是些低級(jí)錯(cuò)誤)
1.webapps要用到的classe文件根本沒(méi)有復(fù)制到WEB-INF/classes目錄下面
(java.lang.NoClassDefFoundError,而這個(gè)信息可能默認(rèn)沒(méi)輸出到控制臺(tái),尤其是用了spring的,昨天就是這個(gè)粗心的低級(jí)錯(cuò)誤)
2.要用到lib文件沒(méi)有復(fù)制完,缺少lib
3.lib下的同一個(gè)庫(kù)的jar文件存在多個(gè)不同版本,引起版本沖突.
4.lib下的jar與tomcat版本不相對(duì)應(yīng)(我遇到的問(wèn)題是web應(yīng)用在Tomcat5.5上運(yùn)行正常,換到Tomcat6.0上就出錯(cuò),
例如一個(gè)用了struts的webapp在Tomcat 6上報(bào)下面的錯(cuò)誤
“Parse Fatal Error at line 17 column 6: The processing instruction
target matching “[xX][mM][lL]” is not allowed” )
愿意看英文的可以參考官方網(wǎng)站說(shuō)明:
http://tomcat.apache.org/tomcat-6.0-doc/logging.html
標(biāo)記一下:)
posted on 2012-04-20 15:39 風(fēng)人園 閱讀(2879) 評(píng)論(0) 編輯 收藏 所屬分類: Java