无法解析java.util.Map $ Entry类型.它是从所需的.class文件间接引用的

ash*_*907 17 java eclipse hashmap libraries

我正在Eclipse上编写一个简单的Java程序.

import java.util.HashMap;

public class Demo {
    public static void main(String[] args) {
        HashMap<String, String> hash = new HashMap();
    }
}
Run Code Online (Sandbox Code Playgroud)

上述程序会产生以下错误.

  1. 由于构建路径不完整,因此未构建项目.找不到java.util.Map $ Entry的类文件.修复构建路径,然后尝试构建此项目.
  2. 无法解析java.util.Map $ Entry类型.它是从所需的.class文件间接引用的.

我几乎到处搜索互联网,但我无法纠正这一点.

我安装了Java SE 8u5(JDK)(http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp)

  1. Windows - >首选项 - >已安装的JRE显示

a)jdk C:\ Program Files\Java\jdk

  1. 项目 - >构建路径 - >库显示

a)JRE系统库(jdk)

b)JRE系统库(jre8)

请有人帮帮我

编辑:将Eclipse版本从Helios更改为Juno解决了这个问题!

Wyz*_*a-- 5

我已经看到Eclipse偶尔会忘记内置类(包括Object和String)存在.我解决它们的方式是:

  • 在项目菜单上,关闭"自动构建"
  • 退出并重启Eclipse
  • 在项目菜单上,选择"清除..."并清除所有项目
  • 重新打开"自动构建"并让它重建所有内容.

这似乎使Eclipse忘记了有关可用类的不正确的缓存信息.

  • 这也发生在Eclipse IBM RAD(Rational)中,使用jdk8,解决方案是使用jdk7 (4认同)
  • 我认为这更多与eclipse版本有关.因此,如果我们可以更改Java和Jre 8最支持的版本,可以解决此问题. (2认同)