2011-11-09 69 views
5

是否有一種方法可以將所有@Overrides註釋掉,這些錯誤會導致Eclipse錯誤阻止您的應用程序構建/運行?擺脫Eclipse中的所有@Override錯誤?

+0

(其它比手動查找所有234234個實例..) – ina

+2

爲什麼你想刪除這麼多的覆蓋?通常,Override會告訴你方法簽名有問題...因此刪除Overrides通常會刪除警告,而不是問題。 –

+0

它們是錯誤(紅色)還是警告(黃色)? 如果他們是紅色的,然後擺脫他們不會幫助你的應用程序構建,你被覆蓋的方法將需要修復 –

回答

7

窗口 - >首選項 - > Java的>反編譯>錯誤/警告

有一個名爲 「Annotations」 基團。在那裏,檢查

「缺少‘@Override’註釋爲‘忽略’或‘警告’,而不是‘錯誤’

編輯:我想補充一點,你可以得到Eclipse來自動添加@Override註解您在保存操作保存文件。

窗口 - >首選項 - > Java的>編輯 - >保存操作

有一個複選框「Additional Actions」如果你打開「Configure「窗口中,您可以選擇」Missing Code「選項卡並選擇」Add Missing Annotations「,您可以在其中選擇要自動添加的註釋。

+0

這似乎是丟失覆蓋,但不只是忽略覆蓋,無論如何 – ina

10

所以,如果我理解你的源代碼中已經有@Override註釋,但你得到了編譯錯誤?

如果是這樣,你安裝了錯誤的jdk。

您至少需要jdk1.5在從類派生的方法上使用這些註釋。

您至少需要jdk1.6在從接口派生的方法上使用這些註釋。

+1

+1。最常見的情況是,使用Java 5而不是6,並且由於在實現的接口方法上使用了@Override而導致一堆錯誤。 –

+0

我正在根據java -version使用1.6版 - Java™SE運行時環境(版本1.6.0_26-b03-384-10M3425) Java HotSpot™64位服務器VM(版本20.1-b02-384,混合模式) – ina

1

我假設你正在編譯針對Java 1.5或更早版本,其中編譯器將接口方法的@Override註釋視爲錯誤。

使用Eclipse搜索並替換(刪除)「@Override」的所有實例。然後使用「清理」添加非界面覆蓋。

步驟:

  1. 選擇包含源文件中的項目或文件夾。
  2. 轉到「搜索>搜索...」(Ctrl-H)打開搜索對話框。
  3. 轉到「文件搜索」選項卡。
  4. 在「文件名稱模式」的「包含文本」和「* .java」中輸入「@Override」。點擊「替換...」,然後點擊「確定」,刪除「@Override」的所有實例。
  5. 轉到「窗口>首選項> Java>代碼樣式>清理」並創建一個新的配置文件。
  6. 編輯配置文件,並取消選中除「缺少代碼>添加缺少的註釋> @覆蓋」之外的所有內容。確保「接口方法的實現」未被選中。
  7. 選擇包含源文件的項目或文件夾。
  8. 選擇「Source> Clean Up ...」(Alt + Shift + s,然後u),然後選擇「Finish」以添加非接口覆蓋。
1

我在我的系統上有Java 8,並且在eclipse中面臨同樣的問題。 問題是因爲JDK合規是1.5

這是我如何固定它

打開Eclipse, 偏好 - >爪哇 - >編譯器 - > JDK符合

將其更改爲1.6

+0

感謝它適用於我的問題是Java 1.5 –

+0

由於一些奇怪的原因,這不適合我...它已經設置爲Java 8,但它仍然不會讓我使用@Override,就像它的1.5。 –

+0

原來我不得不在項目級別設置這個屬性,而不僅僅是全局的eclipse偏好級別。 –