2013-03-14 46 views
64

我在標題中提到了問題。你可以說這個線程複製另一個:How do I turn off error validation for annotations in IntelliJ IDEA?@執行接口方法時不允許覆蓋

但是給出的解決方案不起作用。他們說我需要採取以下行動:

在項目結構|項目對話框中,將項目語言級別更改爲6.0 - 接口中的@Override。

但是,此刻Project語言級別爲6.0,但我仍然看到錯誤。

維克,這裏是窗口並沒有JVM版本有權根據語言水平(不幸的是,因爲我有10個名聲,我不能發表圖片)

+0

我可以在哪裏看到它? – 2013-03-14 07:52:20

+0

我無法發佈圖片,但「項目語言級別」下沒有任何選項,但是看起來不像JVM版本的「項目編譯器輸出」 – 2013-03-14 08:21:20

回答

98

如果您的項目有多個模塊,請檢查每個模塊是否使用語言級別6或以上,或使用項目的語言級別(請參閱Project Settings > Modules > xxx > Language level)。

您可能需要重新加載項目,一旦它被修改。

+1

是的。我只有一個模塊,但它有第五語言版本。謝謝 – 2013-03-14 09:14:32

+6

剛剛面臨同樣的問題。我的項目語言級別已經是6.0,但@Override註釋仍然突出顯示。修復您可以打開* .iml文件並設置LANGUAGE_LEVEL =「JDK_1_6」並重新加載項目 – 2014-02-25 17:11:26

+0

在每個模塊中更改語言級別後問題消失!謝謝,這節省了我幾個小時。 – dominus 2015-03-30 15:24:00

3

還有的每一個模塊一個語言水平。請檢查您的模塊設置在項目結構。

+0

我實際上沒有看到任何其他可以看到項目語言級別的地方但項目結構/項目 – 2013-03-14 07:51:51

+0

項目結構|模塊| |語言水平 – 2013-03-15 07:25:08

42

在你的模塊/項目,右鍵點擊查看上下文菜單:

enter image description here

選擇Open Module Settings或按F4 。在設置窗口中:

enter image description here
設置值爲Choose Language level部分。


你也應該通過這種方式檢查Project language level:按按Ctrl + Alt鍵 + + 小號

enter image description here

18

一個簡單的解決方案 - 嵌入式

  1. 將插入符號放在@Override字上,並將插入符號移到左側,直到出現紅色的燈泡圖標。然後點擊它。

    enter image description here

  2. 點擊設置語言水平至6 - 覆蓋在接口

    enter image description here


以上所述的方法是一個替代以下方法:

  1. 轉到文件>項目結構...或按Ctrl鍵+ Alt鍵++小號

    enter image description here

  2. 轉到項目設置>模塊>來源>語言級別和choos e進行6​​或大於6

    enter image description here

+0

這解決了我的問題。 – aircraft 2017-02-13 10:14:52

7

如果您正在使用Maven,添加的maven編譯器插件到項目的pom.xml文件中的任何水平。

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

這解決了我的問題。