2013-03-14 69 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> 

这解决了我的问题。