如何解决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.

操作方法

  • 01

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

  • 02

    启动项目后,后台打出错误日志,同时浏览器中出现错误页面

  • 03

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

  • 04

    给项目切换高版本tomcat,这里用到的是tomcat8.0 注意:电脑中要已经事先安装好tomcat8.0,如未安装请官网下载

  • 05

    切换成tomcat8.0后再次启动项目

  • 06

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

(0)

相关推荐