風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數(shù)據(jù)加載中……

          解決Tomcat Error listenerStart 問題

          昨天部署web應用到Tomcat之后,無法成功啟動,并且控制臺沒有詳細的錯誤信息,
          頂多就兩行提示信息,例如:
          嚴重: Error listenerStart
          嚴重: Context [/] startup failed due to previous errors

          或者

          嚴重: Error filterStart
          org.apache.catalina.core.StandardContext start
          嚴重: Context startup failed due to previous errors

          查找logs目錄下的信息,除了這兩句話,也沒別的輔助內容.
          給查錯帶來了困難,在這種情況下,是因為Tomcat自身的默認日志沒有將一些錯誤信息輸出到控制臺或文件,
          這個時候則需要配置Tomcat自身的log,啟用詳細的調試日志.

          3.log4j配置文件:
          log4j.properties
          配置內容為:

          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

          #日志級別不能太低,如果配置為debug的話,輸出的日志信息太多,導致tomcat啟動非常的慢.

          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
          以上兩個鏈接基本沒用,大家可以搜索一下,csdn上面有人提供jar包下載,這里附件也不能加,沒有辦法。

          在Tomcat6.0中,

          將tomcat-juli-adapters.jar,log4j-1.2.15.jar,log4j.properties復制到D:\Java\ApacheTomcat6.0.14\lib下面.

          將tomcat-juli.jar復制到D:\Java\apache-tomcat-6.0.14\bin\下面.

          然后啟動tomcat,就可以在D:\Java\apache-tomcat-6.0.14\logs下看到tomcat.log了.

          在這個時候,再通過日志文件來分析,則會發(fā)現(xiàn)出現(xiàn)這種錯誤的情況可能有:
          (以下是我遇到的出錯情況,大多是些低級錯誤)
          1.webapps要用到的classe文件根本沒有復制到WEB-INF/classes目錄下面
          (java.lang.NoClassDefFoundError,而這個信息可能默認沒輸出到控制臺,尤其是用了spring的,昨天就是這個粗心的低級錯誤)
          2.要用到lib文件沒有復制完,缺少lib
          3.lib下的同一個庫的jar文件存在多個不同版本,引起版本沖突.
          4.lib下的jar與tomcat版本不相對應(我遇到的問題是web應用在Tomcat5.5上運行正常,換到Tomcat6.0上就出錯,
          例如一個用了struts的webapp在Tomcat 6上報下面的錯誤
          “Parse Fatal Error at line 17 column 6: The processing instruction
          target matching “[xX][mM][lL]” is not allowed” )

          愿意看英文的可以參考官方網(wǎng)站說明:
          http://tomcat.apache.org/tomcat-6.0-doc/logging.html


          標記一下:) 

          posted on 2012-04-20 15:39 風人園 閱讀(2885) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 桂林市| 冷水江市| 永川市| 长治县| 齐齐哈尔市| 珲春市| 长阳| 新闻| 绥滨县| 平顶山市| 湘阴县| 龙陵县| 施甸县| 石泉县| 栾城县| 康保县| 穆棱市| 常山县| 怀来县| 临潭县| 象州县| 江门市| 土默特右旗| 淮北市| 泾阳县| 马鞍山市| 鄂尔多斯市| 津南区| 南丹县| 五寨县| 石门县| 边坝县| 黑龙江省| 揭阳市| 丰原市| 河间市| 上犹县| 谷城县| 会泽县| 吐鲁番市| 威宁|