gpt4 book ai didi

java - "The type java.util.Map$Entry cannot be resolved"(tomcat6 + JDK7)

转载 作者:行者123 更新时间:2023-11-30 06:14:14 25 4
gpt4 key购买 nike

我有一个 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 版本不支持它)。

问题是我已经构建了我的应用程序(.java 文件)使用JDK 1.7.0_79,加上 我的 tomcat 6 服务器使用相同的服务器

所以到处都没有 JDK 8...一些带数据的屏幕截图:

我的 JVM 目录:

enter image description here

错误堆栈跟踪:

enter image description here

Tomcat进程(使用JDK7运行):

enter image description here

用于编译的Javac版本:

enter image description here

知道为什么我仍然会收到此错误吗?

提前致谢

最佳答案

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

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

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

但是界面在某些方面发生了变化。通常,这是 Java 8 因为他们添加了新的静态辅助方法:类的 name 是相同的(这使得错误很困惑)但是 API已更改,代码无法找到某些东西(或找到它没有预料到的东西)。

当您尝试针对前泛型类进行编译时,可能会发生类似的问题(即使这应该有效)。

更糟糕的是,import java.util.Map 在您的 JSP 中工作。导致问题的是其他地方的现有字节码。

[编辑]

In my /WEB-INF/lib/ folder I've: commons-fileupload, commons-io, poi and rt (may this one be the problem?)

是 :-) rt.jar 是 Java 运行时。它包含 java.*,在您的情况下,是 java.util.Map 的一个版本,它与您的 Java VM 中的版本不匹配。

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

关于java - "The type java.util.Map$Entry cannot be resolved"(tomcat6 + JDK7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com