In Eclipse 3.4.1 using JDK1.6.0_10 how can I activate a warning on a missing @Override
annotation on a method that implements an interface method?
In the Preferences window this option:
Java > Compiler > Errors / Warnings > Annotations > Missing '@Override' annotation
works fine for missing annotations on methods that override a superclass method, but it does nothing for interface methods.
It is not possible in Eclipse 3.4.1. It is a known issue. See this bug report page for more information.
Belay what I said in the other thread. Apparently it's not a compiler option, but a Java compatibility version issue: if your compatibility version is 5, you won't be able to annotate interface implementation methods. If your compatibility version is 6, then you will be able to.
However I don't think there's a way of actually forcing Eclipse to generate an error if you do not annotate each implemented method. From this page:
Missing '@Override' annotation: When enabled, the compiler will issue an error or a warning whenever it encounters a method overriding another implemented method, and the '@Override' annotation is missing.
The compatibility setting to 1.6 instead of 1.5 worked for me on: Eclipse Java EE IDE for Web Developers.
Build id: 20100218-1602
Maybe I'm missing something but interface methods are already required to be implemented by implementation classes.
The compiler will generate an error if the interface is not completely implemented.
来源:https://stackoverflow.com/questions/224945/add-warning-for-missing-override-annotation-for-interface-implementation-in-ecl