&引用;无法解析类型java.util.Map$条目";(tomcat6&x2B;JDK7)

&引用;无法解析类型java.util.Map$条目";(tomcat6&x2B;JDK7),java,tomcat,tomcat6,Java,Tomcat,Tomcat6,我有一个JSP应用程序,它给了我一个错误: The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files Stackoverflow到处都是关于这个错误的帖子,但是所有人只要使用JDK7编译.java文件,再加上使用具有相同版本的tomcat(我的意思是,下面是JDK8,这似乎是个问题,因为一些IDE版本和tomcat版本不支持它) 问题是我使用JD

我有一个JSP应用程序,它给了我一个错误:

The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
Stackoverflow到处都是关于这个错误的帖子,但是所有人只要使用JDK7编译
.java
文件,再加上使用具有相同版本的tomcat(我的意思是,下面是JDK8,这似乎是个问题,因为一些IDE版本和tomcat版本不支持它)

问题是我使用
JDK1.7.079
构建了我的应用程序
.java
文件),加上我的
Tomcat6
服务器也使用了相同的

所以到处都没有JDK 8。。。一些包含数据的屏幕截图:

我的JVM目录:

堆栈跟踪错误:

Tomcat进程(使用JDK7运行):

用于编译的Javac版本:

你知道为什么我仍然会犯这个错误吗


提前感谢您

使用Java 6运行Tomcat或升级到Tomcat 7,并确保在类路径上没有旧的前Java 5/前泛型库

为什么会出现这个错误?JSP代码(不是您的代码)中的某个地方依赖于
java.util.Map.Entry
。这可能是Jasper从JSP生成的代码

这不是一种直接依赖;相反,您的代码(或从JSP生成的Java代码)需要其他东西,然后需要
Java.util.Map.Entry

但界面在某种程度上发生了变化。通常,Java8是因为它们添加了新的静态帮助程序方法:类的name相同(这会使错误如此混乱),但API已经更改,代码找不到任何东西(或找到了它不期望的东西)

当您尝试针对预泛型类进行编译时,也可能会出现类似的问题(即使这样应该可以工作)

更糟糕的是,
在JSP中导入java.util.Map
。是其他地方现有的字节码造成了问题

[编辑]

在我的
/WEB-INF/lib/
文件夹中,我有:
commons文件上传
commons io
poi
rt
(这可能是问题吗?)

是:-)
rt.jar
是Java运行时。它包含
java.*
,在您的例子中,是
java.util.Map
的一个版本,它与java虚拟机中的版本不匹配


远程操作,它应该可以工作。

我在EclipseMars、JDK 8和Tomcat Maven插件上也遇到了同样的问题。将pom.xml中的插件版本更改为2.2就解决了这个问题。

我有tomcat-7.0.22和jdk1.8.045,我用tomcat-8.0.43中包含的ecj-4.6.1.jar文件替换了tomcat/lib目录中的ecj-3.7.jar文件,从而消除了错误。
有关更多信息,请参阅本文

您是从命令行构建还是使用IDE?您确定在构建过程中使用了JDK 7吗?您的JAVAHOME设置为什么?我正在从命令行(使用我编写的脚本)构建@Timbiegeleiseni是否可能您有一个需要Java8的JAR?您正在使用哪些依赖项?My
JAVA\u HOME
/etc/default/tomcat6
中设置,如
JAVA\u HOME=/usr/lib/jvm/jdk1.7.0\u 79
。关于我的JAR,我想这是可能的,但我不这么认为,因为在我将使用
Map
类的代码添加到我的JSP文件之前,我的JSP应用程序没有任何问题=(现在我刚刚尝试了tomcat 7,在配置了它并尝试运行我的应用程序之后,现在我在浏览器中打开我的Web应用程序时得到了一个
ClassNotFoundException
,这与之前的错误相同,但即使在没有使用
Map
类的JSP文件中也会发生切换!这看起来很奇怪,因为我的JSP文件好像是一个class,它找不到它…访问JSP文件的两个错误形成了我的应用程序:当
org.apache.JSP.manager\u JSP
丢失时,JSP编译器的一半不在那里,或者您混合了两个JSP编译器。您确定您的安装是干净的,硬盘没有辍学/错误,并且没有奇怪的东西吗(如
jsp.jar
)在类路径上?你能用一个简单的jsp尝试一个基本的应用程序吗?也许可以从Tomcat部署jsp演示应用程序?安装刚刚使用
apt get
。硬盘没有任何错误(至少已知)我已经安装了tomcat7示例,尝试了其中一些,
标记插件
类别失败,其他插件运行正常(每个类别尝试了1个)。在我的
/WEB-INF/lib/
文件夹中,我有:
commons文件上传
commons io
poi
rt
(可能是这一个问题吗?我将尝试不使用它!)它成功了!现在出现了另一个错误,但tomcat工作正常,我的应用程序工作正常,并且是我的一个代码错误。非常感谢你的帮助!我曾经,我不记得为什么要将它放在那里>。