实现接口方法时不允许@Override

Nik*_*ail 83 java overriding extjs intellij-idea gxt

我有标题中提到的问题.你可以说这个线程重复另一个:如何关闭IntelliJ IDEA注释的错误验证?

但那里给出的解决方案不起作用.他们说我需要采取以下行动:

在项目结构中| 在Project对话框中,将Project语言级别更改为6.0 - 接口中的@Override.

但是,目前Project语言级别为6.0,但我仍然看到错误.

维克,这里是窗口,在语言级别下没有JVM版本(遗憾的是我不能发布图像因为我有10个声誉)

Bas*_*sen 121

如果您的项目有多个模块,还要检查每个模块是否使用语言级别6或更高,或使用项目的语言级别(请参阅参考资料Project Settings > Modules > xxx > Language level).

修改后,您可能需要重新加载项目.

  • 刚遇到同样的问题.我的项目语言级别已经是6.0但@Override注释仍然突出显示.要解决此问题,您可以打开*.iml文件并设置LANGUAGE_LEVEL ="JDK_1_6"并重新加载项目 (8认同)
  • 对于其他发现使用版本2016.2.4或更高版本的人,菜单已更改,现在是**Project*Structure*> Modules> xxx>语言级别** (6认同)

nhu*_*uvy 47

在您的模块/项目中,右键单击以查看上下文菜单:

在此输入图像描述

选择Open Module Settings或按F4.在设置窗口中:

在此输入图像描述
设置Choose Language level部分的值.


您也应该Project language level通过这种方式检查:按Ctrl+ Alt+ Shift+S

在此输入图像描述


ROM*_*eer 23

一个更简单的解决方案 - 内联

  1. 将插入符号放在@Override单词上并将插入符号移到左侧,直到出现红色灯泡图标.然后点击它.

    在此输入图像描述

  2. 单击将语言级别设置为6 - 在接口中覆盖

    在此输入图像描述


上述方法是以下方法的替代方法:

  1. 转到文件>项目结构...或按Ctrl+ Alt+ Shift+S

    在此输入图像描述

  2. 转到项目设置>模块>来源>语言级别,然后选择任何级别为6或大于6的级别.

    在此输入图像描述


nuw*_*ara 14

如果您使用的是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>
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.