Eclipse忽略了错误的@Override注释

由于某种原因,我的一个eclipse安装忽略了错误设置的@Override注释。 例如,如果我将@Override放在一个不被覆盖的方法上,它就完全忽略了它。

有关如何将其恢复到错误注释方法会显示错误的状态的任何想法?

@Override的定义在Java 6中略有改变( 不幸的是没有适当的文档 ),其中实现接口方法的方法上的@Override注释是有效的。 在Java 5中被认为是错误。

我的理论是您的Eclipse配置为符合JDK 1.6,但您的Ant(或其他)构建正在使用JDK 1.5编译器进行编译。

JDK 1.5之间的@Override注释发生了变化。 和1.6。 在1.5中,它只能在具体方法实际覆盖超类中的具体方法时使用。 在JDK 1.6中,当带注释的方法实现在接口或超类中定义的抽象方法时,也可以使用它。

设置Eclipse合规性级别的方法是打开Windows> Preferences,选择Java> Compiler窗格,然后将“Java Compiler Compliance”设置更改为1.5。 然后使用“应用”或“确定”应用首选项更改。

(AFAIK,没有办法让Eclipse在1.6合规模式下给你1.5风格的警告。)

@override注释是在JDK> 1.5中引入的。

在这台机器上,您是否会使用旧版本的JDK?