最新方法
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 23 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
。。。。。。。。。。。。。。。。。。。。。。。。。。。
上网搜,发现不少人有这个问题,但都没有解决办法。因为我在工程的lib中添加了很多包(一堆什么Spring 依赖),所以把他们一删JSP就不抛异常了。工程中和tomcat6 lib中重复的包在加载时是先被加载(也就是tomcat6中相同的包没
有被加载),而工程中的包版本要比tomcat6中的低,造成上面的异常。对照着tomcat中包把项目中相同的删掉就OK了
其实从项目lib下删是不起中用的网上好都是上面那种删发这样我最先照着做结构依旧
所以要从下面路径中删除 我的是
F:/WorkDB/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/rzb-web/WEB-INF/lib
在你的.metadata下就可以找到了;删后重启tomcat就OK了