2010-03-10 69 views
39

我嘗試使用這個的Eclipse:語法錯誤,如果源級別是1.5

ArrayList<String> 
Map<String, String> 

的Eclipse抱怨他們兩人的參數化類型只有:語法錯誤,參數化類型僅當源級別是1.5。我使用JDK 1.6,但即使我去編譯器並將合規性切換到1.5。它仍然給我這個錯誤。任何想法爲什麼?在性能

+0

我得到了同樣的錯誤,並在Eclipse中的喜好,其中正確的是(指着JRE6)。我認爲當工作區在jse的單獨驅動器中定義時會出現一些錯誤。在C例如jse6:\ Eclipse在d:\ 工作區在默認目錄C:\用戶\ \ ... ==>確定,C中沒有錯誤JSE:\ Eclipse在d:\ 工作區在D:\ ==>錯誤:語法錯誤,參數化類型只有源級別爲1.5時 – 2011-05-12 09:51:21

回答

22

我的猜測是,當你運行在JDK 1.6 Eclipse本身,它實際上是一個不同的缺省JRE配置。

請參閱Window->preferences->java->Installed JREs並確保選中的JRE爲1.6

如果默認的JRE確實是1.6,那麼很可能它是一個項目特定的設置。看到該項目配置爲使用正確的JRE。

+0

感謝您的建議,我非常疑惑非編譯,這已解決了我的問題! – stackSaru 2014-07-04 16:12:09

5

右鍵點擊你的項目,然後選擇屬性對話框檢查Java編譯器設置,也許你有不同的工作區設置。

19

是的。無論別人怎麼說,Eclipse都包含一些錯誤,有時會導致工作區設置(例如1.6兼容)被忽略。即使在每個項目設置被禁用,工作區設置正確(1.6),JRE被正確設置,僅定義了1.6 JRE等情況下,人們通常會在關於該問題的問題時推薦所有的東西張貼到各種論壇(他們通常是)。

我們打這個不規則,但往往,通常在存在與建造時的依賴或其它項目問題一些無關的問題。它似乎屬於「無法讓Eclipse認識現實」的一般類別,我總是會用正確或錯誤的方式來歸因於使用Eclipse的廣泛元數據來更新問題。 Eclipse元數據是一個祝福和詛咒;當所有工作都很好時,它會使工具非常強大和快速。但是,當出現問題時,廣泛的緩存使問題比其他工具更加困難 - 有時更加困難。

+8

謝謝,這意味着我不瘋狂!每過一次藍月亮,Eclipse都會決定它不關心我的任何設置,並且給我這個1.5符合性錯誤。儘管一切都設置正確,但我必須做Eclipse雨舞(重新啓動,刷新,清理,構建的一些隨機組合)以安撫波浪般的紅線神。 – aglassman 2013-10-15 17:28:42

1

我可以在Eclipse Helios中通過右鍵單擊項目,選擇「Java Build Path」,「Add Library ...」,「JRE System Library」,「Workspace default JRE(jdk1.6.0 _17)「,最後」完成「。

1

請注意繼承Java Compiler/Compliance設置項目中的工作區設置。我有一個導入Eclipse的項目。 Eclipse使用J2SE 1.4 JRE,編譯器和合規性設置生成項目。

當我走進去,手動更新這些設置和取消選中了「啓用項目特定設置」中,我還是接受建立與1.5級合規性(即使工作區設置顯然1.6)錯誤。直到我重新選中「啓用項目特定設置」框並手動將編譯器/合規性級別設置爲1.6,錯誤消失。

40

當此問題彈出時,此變通辦法很有用。

1)將工作區JRE設置爲1.5(並應用/保存)。項目將重建。

2)將Workspace JRE設置回1.6(並應用/保存)。項目將重建。

然後所有的錯誤都消失了(現在至少)。

+3

+1我上升到1.7,然後回到1.6並重建。 – rajah9 2012-08-31 13:59:11

+0

@ rajah9 ..你可以讓我知道,你如何能夠將Java 1.7集成到Blackberry Eclipse中,我不能在BB Elipse中整合1.7 jre ...... !!! – 2012-11-27 07:41:16

+2

必須重新啓動eclipse才能使此修復工作。 – Coyote 2013-04-09 05:18:30

2

我已經遇到了與Eclipse Indigo版本相同的問題 - 即使項目設置是正確的。我懷疑的主要原因是工作區是在實際源文件夾的單獨文件夾中定義的(如user748337)。 要解決此問題,我必須啓用項目特定設置選項(在「項目首選項」中),儘管它與工作區設置沒有區別。

+0

自從Indigo發佈1.7以來,就有這個問題。我也發現了這個修補程序,但我仍然不喜歡它,因爲如果1.8發佈,我必須記住要更改所有項目設置。 – 2012-04-03 09:31:07

36

它可以如下解決:

  1. 轉到項目屬性。

  2. 然後 'Java編譯器' - >勾選( '啓用項目的具體設置')

  3. 更改編譯器遵從性級別爲 '5.0' &單擊確定。

重建。它會被解決。

另外,單擊「使用默認合規性設置」複選框。

+1

這爲我工作。 – 2015-05-13 06:25:46

6

轉到項目屬性。

然後「Java編譯器」 - >點擊複選框,「啓用項目特定設置」

取消選中複選框「使用合規性與執行環境‘的OSGi /最小-1.2’的Java」

然後將編譯器合規性級別更改爲「1.5」,然後單擊「確定」。

重建它,你的問題將得到解決。

0

我目前正在使用Eclipse Luna。並有同樣的問題。您可能想要驗證編譯器的合規性設置,請轉到「項目/屬性/ Java編譯器」

編譯器合規性級別設置爲1.4,我將其設置爲1.5(我正在使用JDK 1.8) ;它爲我工作。如果你不得不改變設置,轉到「Window/Preferences/Java/Compiler」可能會很有用,並檢查編譯器合規性級別是否爲1.5或更高。以防萬一你需要做另一個Java項目。

1

它可以解決如下:

轉到項目屬性。

然後「Java編譯器」 - >勾選(「啓用項目的具體設置」)

更改編譯器遵從性級別爲「5。0' &單擊確定

選擇‘使用默認設置合規性’複選框

2

單一的答案沒能解決我的問題,所以我同時使用:

  • 首先右鍵點擊錯誤在問題選項卡
  • 點擊快速修復
  • 確定
  • 右鍵單擊該項目
  • 構建路徑
  • 配置構建路徑
  • 刪除JRE庫
  • 添加JRE庫

....田田...做... :)

+0

Thanx @Jyo the Whiff !!我很驚訝隨着時間的推移,什麼樣的愚蠢錯誤正在悄然進入Eclipse ...... – nidalpres 2015-06-14 01:40:23

+0

是的..此後,我面對許多其他......但仍然愛上了Eclipse :) – 2015-07-24 12:06:06

+0

快速修復在手動更改時工作編譯器級別不做任何事情。爲了平息日食,我做了兩次這樣的事情。 – 2015-08-29 14:42:27

4

這適用於我 。

在eclipse中轉到項目屬性 - > java編譯器。

然後改爲java高於1.5。

更改編譯器依從性設置,以1.6 變化Generated.class文件兼容性1.6 改變源代碼兼容性1.6

感謝。 Screen Shot for changes

0

將編譯器版本更改爲較低值並應用更改。 編譯將失敗。

現在將版本更新爲必需,並應用更改,工作區將重建並且問題將得到解決。

-1

這對於ECLIPSE

速戰速決,當我試圖創建它給了錯誤的數組列表不能被解析爲類型和一些有關「parametrised型僅在1.5的水平」

數組列表

我只是嘗試導入java.util.ArrayList;

而這個錯誤消失了。

+1

改述你的解釋。 – 2016-07-07 15:23:26

1

執行以下操作..

右鍵單擊您的項目 - >選擇屬性----->選擇Java編譯器

你的意志看到這個窗口

Image for reference

現在選中複選框--->啓用項目特定設置。

現在將編譯器合規性級別設置爲1。6

應用,然後確定

現在清理你的項目,你是好去