为了账号安全,请及时绑定邮箱和手机立即绑定

无法为JSP编译类:无法解析类型java.util.Map $ Entry。从所需的.class

无法为JSP编译类:无法解析类型java.util.Map $ Entry。从所需的.class

繁星点点滴滴 2019-11-15 10:40:50
我无法获取tomcat7来编译jsps。直到运行示例servlet一切正常,并且服务已启动并正在运行。我正在运行oracle java 8。谁能指出我正确的方向?这是堆栈跟踪:type Exception reportmessage Unable to compile class for JSP:description The server encountered an internal error that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java fileThe type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class filesStacktrace:    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)note The full stack trace of the root cause is available in the Apache Tomcat/7.0.35 logs.该代码看起来像这样,它是tomcat7的示例代码,所以我想这是正确的。<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %><html><head>  <title>JSP 2.0 Examples - Hello World SimpleTag Handler</title></head><body><h1>JSP 2.0 Examples - Hello World SimpleTag Handler</h1><hr><p>This tag handler simply echos "Hello, World!"  It's an example ofa very basic SimpleTag handler with no body.</p><br><b><u>Result:</u></b><mytag:helloWorld/></body></html>
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

您必须使用支持JDK 8的最新版本的tomcat。

我可以确认apache-tomcat-7.0.35不支持JDK8,也可以确认apache-tomcat-7.0.50不支持JDK8。


查看完整回答
反对 回复 2019-11-15
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

JDK8的类格式已更改,这就是Tomcat无法编译JSP的原因。尝试获取更高版本的Tomcat。


我最近有同样的问题。这是Tomcat中的错误,或者说,JDK 8的类文件格式与JDK8之前的版本略有不同。这会导致不一致,并且Tomcat无法在JDK8中编译JSP。


查看完整回答
反对 回复 2019-11-15
  • 3 回答
  • 0 关注
  • 905 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信