Eclipse ignoring incorrect @Override annotations

╄→尐↘猪︶ㄣ 提交于 2019-12-18 16:25:08

问题


For some reason one of my eclipse installations is ignoring incorrectly set @Overrideannotations. For example, if I put @Override on a method that isn't overriden, it just completely ignores it.

Any ideas on how to bring it back to a state where it will display an error for an incorrectly annotated method?


回答1:


The definition of @Override changed slightly in Java 6 (and unfortunatly without proper documentation) wherein an @Override annotation on a method that implements an interface method is valid. In Java 5 that was considered an error.




回答2:


My theory is that your Eclipse is configured for JDK 1.6 compliance, but your Ant (or whatever) build is compiling with a JDK 1.5 compiler.

There was a change in the @Override annotation between JDK 1.5. and 1.6. In 1.5, it could only be used when a concrete method actually overrides a concrete method in a superclass. In JDK 1.6, it can also be used when the annotated method implements an abstract method defined in an interface or superclass.

The way to set Eclipse's compliance level is to open Windows>Preferences, select the Java>Compiler pane, and change the "Java Compiler Compliance" setting to 1.5. Then use Apply or OK to apply the preference change.

(AFAIK, there is no way to get Eclipse to give you 1.5 style warnings in 1.6 compliance mode.)




回答3:


The @override annotation was introduced in the JDK > 1.5.

On this machine would you be using an older version of the JDK by any chance?



来源:https://stackoverflow.com/questions/1407198/eclipse-ignoring-incorrect-override-annotations

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!