Добавить предупреждение об отсутствующей аннотации @Override для реализации интерфейса в Eclipse

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

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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

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

Другие вопросы по тегам