如果在release或debug模式下都能正常运行,但是在部署时候却出现下面错误,不要惊慌:
Servlet.service() for servlet jsp threw exception
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:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
这堆错误都不是root cause,仔细往下看,会发现:
java.io.FileNotFoundException: /......./pages/LogicCheck.java (Permission denied)
这个错误主要是因为pages文件夹没有授权,所以没法去读写文件,只要授权就行了。
执行:chmod 777 pages 即可解决问题。