2015-02-05 78 views
1

我最近将Java更新为jre1.8.0_31,Eclipse不再构建我的项目。它会失败,并显示无法找到java.util.Map $ Entry类文件的消息。

+0

哪个操作系统您使用在父POM文件中添加下面的依赖?它正确配置的JAVA_HOME变量!? – facundofarias 2015-02-05 19:21:13

+0

如果那个类真的不存在 – ControlAltDel 2015-02-05 19:23:16

+1

你会更新你的项目构建路径来指向新的JDK安装吗? – Arkantos 2015-02-05 19:42:23

回答

0

java.util.Map$Entry是JDK中的标准类。在某些情况下,它位于JAVA_HOME之下的文件rt.jar中,但您不应该自己添加它。

我很惊讶,这是你唯一缺少的东西,应该还有很多其他的东西也没有。

您应该验证您的JDK是否在您的偏好设置下正确设置,以及您的项目构建路径。

几乎可以肯定的是,您的JDK的位置发生了变化,需要将Eclipse通知您。

也清理您的项目(右键单击项目视图中的顶部文件夹,选择'干净')。可能是一些陈旧的文件在附近。

其实,审查你的问题还有最后一件事想到的,你说你更新你的JRE。这与JDK不一样。你也应该安装1.8 JDK

+0

我确定JDK和JRE都是最新的。我查看了Eclipse中构建路径指向的JRE系统库,特别是我查找了java.util.Map $ Entry.class,它似乎并不存在。作为好奇心的一点,类名Map $ Entry是特有的,因为它的$符号 - 不是非法但不常见。我仍然错过了一些东西,但是你的评论有帮助。 – user3163709 2015-02-06 22:35:35

+0

'$'表示它是一个内部类。 – robert 2015-02-06 22:43:10

+0

感谢您对$标点符号的澄清。考虑到这一点,我使用Eclipse的Project Explorer再次查看rt.jar中的java.util.Map $ Entry类。在资源树中有一个java.util.Map.Entry条目作为java.util.Map的子元素,但条目旁边会出现一个问号图标。我认为这意味着资源缺失(Eclipse帮助无助于回答这个问题)。 – user3163709 2015-02-07 19:34:13

0

我面临同样的问题,下面的解决方案为我

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>aspectj-maven-plugin</artifactId> 
<version>1.7</version> <!-- 1.5 dint work for me --> 
</plugin> 
<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>maven-compiler-plugin</artifactId> 
<version>3.3</version> 
</plugin>   
<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>aspectjweaver</artifactId> 
<version>1.8.6</version> 
</plugin>