[英]How to fix '<>' operator is not allowed for source level below 1.7 in 1.6?
[英]openjdk 1.7 in eclipse: operator is not allowed for source level below 1.7
Eclipse給了我一個錯誤:
'<>' operator is not allowed for source level below 1.7
我想這是因為它沒有使用java 1.7。 除此之外。 至少openjdk 1.7(我的操作系統是OpenSuse 12.3)。
我從kepler切換回juno以減少一些滯后並嘗試找出這個bug,到目前為止無濟於事。
我嘗試過的一些事情: - eclipse的默認運行時是opensdk 1.7(在幫助中說明,安裝細節) - 項目屬性,java build - > library。 我手動添加了opensdk位置。
我會安裝oracle版本,但opensuse存儲庫中只有1.6。 我已經嘗試安裝oracle提供的rpm,它沒有把自己放在我的路徑中,並且把一切搞砸了,所以我再次刪除它。
它應該與openjdk一起工作嗎? 或者你認為它有蟲子?
ps:junit也無法識別,所以我手動鏈接到jar文件。 也許這是相關信息。
在項目的首選項中,必須將編譯器--source
選項設置為1.7
,將--target
選項設置為1.7
。 有專門的選項框。
右鍵單擊該項目。 選擇屬性 。 選擇左側的Java Compiler 。 選擇1.7
作為編譯器合規性級別 。 如果下面的2個下拉列表不是1.7
,請取消選中使用默認合規性設置並將其設置為1.7
。
右鍵單擊錯誤,選擇快速修復,然后選擇將JRE更改為1.7
如果您想使用以下版本,請使用
Map<String, Integer> map = new HashMap<String, Integer>();
代替
HashMap<String, Integer> map = new HashMap<>();
右鍵單擊Project - properties - Java Complier - Compiler compliance -set level 1.7
如果你想堅持使用java 1.6
,搜索並用空字符串替換<>。 您將收到編譯器警告,但錯誤應該消失。
我有同樣的問題,但與 - 編譯器合規級別 - 生成.class文件兼容性 - 源兼容性都已設置為1.7。 我在所有3上重新選擇了1.7,然后Eclipse檢測到它,要求重建並成功構建我的項目。
窗口 - >首選項 - > Java的>編譯器
選擇1.7並點擊好。
如果您正在自動構建,則需要完全重新構建。
右鍵單擊該項目。 選擇屬性。 選擇左側的Java Compiler。 選擇1.7作為編譯器合規性級別。 如果下面的2個下拉列表不是1.7,請取消選中使用默認合規性設置並將其設置為1.7。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.