myeclipse 发布 tomcat jar包冲突 servlet.jar jsp-api.jar 和没有servlet.jar jsp-api.jar
使用tomcat运行web项目时,当你的项目有jar包与tomcat的jar包冲突时。会导致jsp出错,表现症状:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
........
解决办法将冲突的jar包换成tomcat的jar包。重新编译部署后会出现/WEB-INF/lib/ servlet-api.jar) - jar not loaded 等等。百度出来都是删除tomcat WEB-INF下的jar。虽然能解决,但是重新编译部署后又出现了,又得手动删。
根本解决办法 :myeclipse 添加server library
(1)File->New->Other
(2)弹出窗口勾上Show All Wizards,然后在type fiter text那里输入Server,选中server->next->选中apache->选tomcat v6.0 server->下面有server name可以按照自己的需要填写->next->选择要添加server library的项目->finish
注:项目中要添加server library的时候
右键项目-》build path ->configure build path ->java build path -> add library ->WTP Server Runtime(MyEclipse incompatible)->选择新建的server library ->finish
成功后 有如图所示目录
重新编译部署,就不会出现/WEB-INF/lib/ servlet-api.jar) - jar not loaded 问题了。
原文: http://blog.csdn.net/u011514731/article/details/42679045