Gangmax Blog

My Tip 34

昨天使用ANT build.xml打包之后在tomcat6运行发生错误的问题(报”java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.…”)。经google发现原因如下:

由于tomcat6使用了新版本的Servlet/JSP规范(Servlet 2.5, JSP 2.1),而在我的机器上的CLASSPATH中包含了旧版本的servlet-api.jar和jsp-api.jar。这就导致tomcat在启动时,首先load CLASSPATH中的servlet-api.jar和jsp-api.jar,自然发生class版本不对、找不到对应方法的问题。解决方法是从CLASSPATH中删除原来的servlet-api.jar和jsp-api.jar,再运行tomcat, OK。

感谢这篇文章

另外,解决了以上问题后,发现运行war依然有找不到SpringappController类的错误,发现build.xml有误,没有把编译好的classes目录放入WEB-INF下,修改脚本后重新build&deploy,OK。

Comments