Linux下Tomcat啓動報錯 Error listenerStartstartup

今天啓動Tomcat啓動不了,報以下錯:
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/******] startup failed due to previous errors
Tomcat啓動5000多毫秒,是平時的1/3左右,這種情況就是有問題的,網站是不能正常訪問的,但是查看日誌又沒有具體的報錯信息,這下可不知道具體怎麼回事了。重新部署工程不起作用,於是乎重新安裝了tomcat,啓動可以了。但是具體什麼原因還是不知道。隨後在更新文件,又不好使了。於是我百度了下,
Tomcat的log信息太少,什麼錯都沒報出來,只提示了Error listenerStart。爲了調試,我們要獲得更詳細的日誌。可以在WEB-INF/classes目錄下新建一個文件叫logging.properties,內容如下:
  1. handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
  2.   
  3. ############################################################  
  4. # Handler specific properties.  
  5. # Describes specific configuration info for Handlers.  
  6. ############################################################  
  7.   
  8. org.apache.juli.FileHandler.level = FINE  
  9. org.apache.juli.FileHandler.directory = ${catalina.base}/logs  //改爲自己輸出日誌的路徑
  10. org.apache.juli.FileHandler.prefix = error-debug.  
  11.   
  12. java.util.logging.ConsoleHandler.level = FINE  
  13. java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter  
這樣,我們再啓動tomcat時,就會在logs目錄下生成一個更詳細的日誌error-debug.2017-04-05.log。 
我碰到的錯誤是java.lang.NoClassDefFoundError: services/constants/IPSConstants$Status (wrong name: constants/IPSConstants$Status)大家碰到的錯應該各式各樣都有,所以就要具體問題具體分析了。

 在tomcat上部署應用的時候經常會發上startup failed due to previous errors錯誤。這個錯誤產生以後經常會讓人摸不到頭腦。以下是幾點查找經驗:

     1.web.xml文件,這個文件中定義了很多web服務啓動需要的類、xml文件,如果這些找不到就會發生startup failed due to previous errors錯誤。

     2.如果使用spring的話,在applicationContext.xml中定義的類、xml文件找不到也會報這個錯誤。

     3.如果使用ibatis的話,在SqlMapConfig.xml中定義的xml文件找不到也會報這個錯誤。

     總結的經驗就是一定要把配置文件中定義的每條信息弄清楚,不要拿來別人的代碼就使用,這樣就會解決這個問題。


注:部分轉載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章