Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法为JSP编译类:无法解析类型java.util.Map$条目。它是从必需的.class文件间接引用的_Java_Jsp_Tomcat_Servlets - Fatal编程技术网

无法为JSP编译类:无法解析类型java.util.Map$条目。它是从必需的.class文件间接引用的

无法为JSP编译类:无法解析类型java.util.Map$条目。它是从必需的.class文件间接引用的,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,我无法让tomcat7编译JSP。它一直运行示例servlet,服务已经启动并运行。我正在运行OracleJava8 谁能给我指出正确的方向吗 以下是stacktrace: type Exception report message Unable to compile class for JSP: description The server encountered an internal error that prevented it from fulfilling this reques

我无法让tomcat7编译JSP。它一直运行示例servlet,服务已经启动并运行。我正在运行OracleJava8

谁能给我指出正确的方向吗

以下是stacktrace:

type Exception report

message Unable to compile class for JSP:

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.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

Stacktrace:
    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 of
a very basic SimpleTag handler with no body.</p>
<br>
<b><u>Result:</u></b>
<mytag:helloWorld/>
</body>
</html>

JSP 2.0示例-Hello World SimpleTag处理程序
JSP 2.0示例-Hello World SimpleTag处理程序

这个标记处理程序只是回应“你好,世界!”这是一个 一个非常基本的没有主体的SimpleTag处理程序


结果:
添加此导入

这对我很有效,但我还需要补充。 上面的答案似乎是正确的,如果您有更新的tomcat,您可能不需要添加这些行,但由于我无法更改我的整个系统,这是有效的。
谢谢

添加此导入

这对我很有效,但我还需要补充。 上面的答案似乎是正确的,如果您有更新的tomcat,您可能不需要添加这些行,但由于我无法更改我的整个系统,这是有效的。
感谢您

来自:

工作流操作可能无法访问

  • JIRA可能会在屏幕上抛出异常
  • 可能存在以下一种或两种情况:
  • 以下内容出现在atlassian-jira.log中:

         2007-12-06 10:55:05,327 http-8080-Processor20 ERROR [500ErrorPage] 
         Exception caught in500 page Unable to compile class for JSP
        org.apache.jasper.JasperException: Unable to compile class for JSP
       at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:572)
       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    
    _

    Cause:
    
    Tomcat容器缓存由 web应用程序使用的JSP解析器。有时候这些会让你失望 已损坏或找不到。这可能发生在修补程序或升级之后 它包含对JSP的修改

    Resolution
    
    1.如果使用独立JIRA,则删除/work文件夹的内容;如果使用EAR/WAR安装,则删除/work文件夹的内容 . 2.验证运行JIRA应用程序进程的用户对/work目录具有读/写权限。 3.重新启动JIRA应用程序容器以重建文件

    从:

    工作流操作可能无法访问

  • JIRA可能会在屏幕上抛出异常
  • 可能存在以下一种或两种情况:
  • 以下内容出现在atlassian-jira.log中:

         2007-12-06 10:55:05,327 http-8080-Processor20 ERROR [500ErrorPage] 
         Exception caught in500 page Unable to compile class for JSP
        org.apache.jasper.JasperException: Unable to compile class for JSP
       at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:572)
       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    
    _

    Cause:
    
    Tomcat容器缓存由 web应用程序使用的JSP解析器。有时候这些会让你失望 已损坏或找不到。这可能发生在修补程序或升级之后 它包含对JSP的修改

    Resolution
    
    1.如果使用独立JIRA,则删除/work文件夹的内容;如果使用EAR/WAR安装,则删除/work文件夹的内容 . 2.验证运行JIRA应用程序进程的用户对/work目录具有读/写权限。 3.重新启动JIRA应用程序容器以重建文件


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

    我最近也有同样的问题。这是Tomcat中的一个bug,或者更确切地说,JDK8的类文件格式与之前的JDK8版本略有不同。这会导致不一致,Tomcat无法在JDK8中编译JSP

    见以下参考资料:


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

        我最近也有同样的问题。这是Tomcat中的一个bug,或者更确切地说,JDK8的类文件格式与之前的JDK8版本略有不同。这会导致不一致,Tomcat无法在JDK8中编译JSP

        见以下参考资料:


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


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

        您必须使用支持JDK8的tomcat的最新版本


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

        因为我们运行的是Ubuntu12.04 LTS,最新官方支持的tomcat7包是7.0.26,所以我们不容易更新整个tomcat

        为了测试jdk8的性能,我根据最新的7.0.*版本更改了一些JAR,从而解决了这个问题

        我将jasper.jar、jasper el和tomcat util切换到7.0.53版本,并添加了ecj-4.3.1.jar。这将使应用程序重新联机


        但是。。。我也用这个改变了打包的内容,所以也许下载整个tomcat并用它自己安装来弄乱包会更好。因此,请仅将此视为一个非常肮脏的快速破解或解决方法。

        因为我们运行的是Ubuntu 12.04 LTS,而最新的官方支持的tomcat7包是7.0.26,所以我们不容易更新整个tomcat

        为了测试jdk8的性能,我根据最新的7.0.*版本更改了一些JAR,从而解决了这个问题

        我将jasper.jar、jasper el和tomcat util切换到7.0.53版本,并添加了ecj-4.3.1.jar。这将使应用程序重新联机


        但是。。。我也用这个改变了打包的内容,所以也许下载整个tomcat并用它自己安装来弄乱包会更好。因此,请仅将此视为一种非常肮脏的快速破解或解决方法。

        在tomcat 7.0.19上将我的应用程序从java 6升级到java 8时,遇到了完全相同的问题。
        在将tomcat升级到7.0.59之后,这个问题就解决了。

        在tomcat 7.0.19上将我的应用程序从java 6升级到java 8时,遇到了完全相同的问题。 将tomcat升级到7.0.59后,此问题得到解决。

        尝试向jsp文件添加

        尝试添加