1. 程式人生 > >Tomcat啟動時出現的Error filterStart錯誤

Tomcat啟動時出現的Error filterStart錯誤

如果tomcat啟動出現問題,在tomcat輸出日誌catalina.out中是沒有體現細節的,這個需要到localhost.2015-12-07.log中看

今天幫朋友搞個小網站,用的Tomcat(版本7.0.5)+Struts2(版本2.2.3),JDK1.6u25。

剛配了個web.xml和struts.xml,啟動Tomcat時就出現 Error filterStart 錯誤,在google和百度上搜索了大家提供的答案: 先按照網上的答案1,檢查配置檔案,反覆檢查若干遍之後,確認的確沒有問題。 再按照網上的答案2,把“commons-fileupload-1.2.2.jar”和“commons-io-2.0.1.jar”包放到lib下,不過啟動時還是出現相同的錯誤。 沒辦法,只有檢視Tomcat下的日誌檔案(logs目錄下的localhost.XXXX-XX-XX.log檔案),發現有下述列印:
...
at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) ... 43 more
因此,應該是缺少“commons-lang-2.5.jar”包,加入該包到lib下。 可是啟動還是不行,再檢視日誌,發現有下述列印:
... 55 more Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165) ... 56 more Caused by: java.lang.ClassNotFoundException: javassist.ClassPool at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162) ... 56 more
因此,應該是缺少“javassist-3.11.0.GA.jar”包,加入該包到lib下,啟動OK。 可能大家的問題原因並不一樣,這個時候看看Tomcat的日誌,或許能解決問題。