Добавить предупреждение об отсутствующей аннотации @Override для реализации интерфейса в Eclipse - PullRequest
11 голосов
/ 22 октября 2008

В Eclipse 3.4.1 с использованием JDK1.6.0_10 как активировать предупреждение об отсутствующей аннотации @Override для метода, реализующего метод интерфейса?

В окне настроек этот параметр:

Java> Компилятор> Ошибки / Предупреждения> Аннотации> Отсутствует '@Override' аннотаций

отлично работает для отсутствующих аннотаций в методах, которые переопределяют метод суперкласса, но ничего не делает для методов интерфейса.

Ответы [ 4 ]

10 голосов
/ 22 октября 2008

Это невозможно в Eclipse 3.4.1. Это известная проблема . См. Эту страницу отчета об ошибках для получения дополнительной информации.

2 голосов
/ 22 октября 2008

Страхуй то, что я сказал в другой ветке. Очевидно, это не опция компилятора, а проблема совместимости с Java: если у вас версия совместимости 5, вы не сможете комментировать методы реализации интерфейса. Если ваша версия совместимости 6, то вы сможете.

Однако я не думаю, что есть способ заставить Eclipse генерировать ошибку, если вы не аннотируете каждый реализованный метод. С этой страницы :

Отсутствует аннотация '@Override': если этот параметр включен, компилятор будет выдавать ошибку или предупреждение всякий раз, когда он встречает метод, переопределяющий другой реализованный метод, и аннотация '@Override' отсутствует.

1 голос
/ 22 октября 2010

У меня на совместимости работала настройка совместимости до 1.6 вместо 1.5: Eclipse Java EE IDE для веб-разработчиков.

Идентификатор сборки: 20100218-1602

0 голосов
/ 22 октября 2008

Возможно, я что-то упускаю, но методы интерфейса уже должны быть реализованы классами реализации.

Компилятор выдаст ошибку, если интерфейс реализован не полностью.

...