如果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.(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.(OgnlRuntime.java:162)
… 56 more
因此,应该是缺少“javassist-3.11.0.GA.jar”包,加入该包到lib下,启动OK。
可能大家的问题原因并不一样,这个时候看看Tomcat的日志,或许能解决问题。