Add warning for missing @Override annotation for i

2019-03-13 02:18发布

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.

4条回答
Bombasti
2楼-- · 2019-03-13 02:46

It is not possible in Eclipse 3.4.1. It is a known issue. See this bug report page for more information.

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-03-13 02:46

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

查看更多
手持菜刀,她持情操
4楼-- · 2019-03-13 03:01

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.

查看更多
Evening l夕情丶
5楼-- · 2019-03-13 03:06

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.

查看更多
登录 后发表回答