一尘不染

为什么Eclipse在接口方法上抱怨@Override?

java

我有一个现有项目,该项目使用@Override的方法会覆盖接口方法,而不是超类方法。我无法在代码中更改它,但是我希望Eclpse不再抱怨注释,因为我仍然可以使用Maven进行构建。

我将如何禁用此错误?

注意:由于项目要求,我需要针对Java 1.5进行编译。


阅读 338

收藏
2020-03-22

共1个答案

一尘不染

@Override在实现接口声明的方法的方法上使用注释仅从Java 6起有效。这是Java 5中的错误。

确保将你的IDE项目设置为使用Java 6 JRE,并且“源兼容性”设置为1.6或更高:

  1. 打开窗口>首选项对话框
  2. 浏览至Java>编译器。
  3. 在那里,将“编译器符合级别”设置为1.6。

请记住,Eclipse可以覆盖特定项目的这些全局设置,因此也请检查这些设置。

更新:

Java 5下的错误不仅与Eclipse有关;而且与Java 5有关。javac直接从命令行使用将给你同样的错误。它不是有效的Java 5源代码。

但是,你可以指定-target 1.5JDK 6的选项javac,它将从Java 6源代码生成Java 5版本类文件。

2020-03-22