如何解决Unable to compile class for JSP

用eclipse新搭建了一个项目,项目启动成功后报了如下错误:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files 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:439) org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.

如何解决Unable to compile class for JSP

新建的项目结构如下,只搭建了简单的webapp工程

如何解决Unable to compile class for JSP启动项目后,后台打出错误日志,同时浏览器中出现错误页面

如何解决Unable to compile class for JSP

分析浏览器中的错误页面可以看到此时运行的tomcat版本是6.0.29,而我们项目中用到的jre是1.8,所以猜测这应该是tomcat与jre版本不兼容引起的

如何解决Unable to compile class for JSP

如何解决Unable to compile class for JSP

给项目切换高版本tomcat,这里用到的是tomcat8.0

注意:电脑中要已经事先安装好tomcat8.0,如未安装请官网下载

如何解决Unable to compile class for JSP

如何解决Unable to compile class for JSP

如何解决Unable to compile class for JSP

如何解决Unable to compile class for JSP

可以看到项目正常启动了,原来就是tomcat与Jre版本不兼容而报出的错误

如何解决Unable to compile class for JSP