2015-02-05 63 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>