嚴重: Context [] startup failed due to previous errors

項目部署到服務器tomcat啓動時報如下錯誤:

2015-5-7 14:38:25 org.apache.catalina.core.StandardContext startInternal
嚴重: Error listenerStart
2015-5-7 14:38:25 org.apache.catalina.core.StandardContext startInternal
嚴重: Context [] startup failed due to previous errors
2015-5-7 14:38:25 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory /data/apache-tomcat-7.0.57/webapps/ROOT has finished in 5,2
88 ms2015-5-7 14:38:25 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
2015-5-7 14:38:25 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8048"]
2015-5-7 14:38:25 org.apache.catalina.startup.Catalina start

網上的建議一般集中於以下幾點:

  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. 其他的原因

我的問題描述及最後的解決方式

本機上的jdk版本使用的是1.7,通過myeclipse編譯版本也是1.7,服務器上的jdk版本是1.6.
項目中有一些類使用的是1.7的特性,比如switch(String)。而這幾個類是在tomcat啓動spring時需要加載的。
所以更換了服務器上的jdk版本,使編譯版本和運行時版本一致,問題解決。

若還不能解決問題,修改一下tomcat的日誌級別,打印更多信息來確定問題的原因。

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