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,內容如下:
- handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
- ############################################################
- # Handler specific properties.
- # Describes specific configuration info for Handlers.
- ############################################################
- org.apache.juli.FileHandler.level = FINE
-
org.apache.juli.FileHandler.directory = ${catalina.base}/logs //改爲自己輸出日誌的路徑
- org.apache.juli.FileHandler.prefix = error-debug.
- java.util.logging.ConsoleHandler.level = FINE
- java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
我碰到的錯誤是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文件找不到也會報這個錯誤。
總結的經驗就是一定要把配置文件中定義的每條信息弄清楚,不要拿來別人的代碼就使用,這樣就會解決這個問題。
注:部分轉載