2008-10-22 3 views
10

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

В окне настроек этой опции:

Java> Compiler> Ошибки/Предупреждения> Аннотации> Missing '@Override' аннотацию

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

+1

Java 5 и Java 6 имеют различные ожидания относительно @Override аннотаций реализаций интерфейса. Я не помню, как это влияет на Eclipse, но я знаю, что это так. –

+0

Я должен был упомянуть об этом. Добавлена ​​версия Java (6) к вопросу. –

ответ

10

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

+0

Разве это уже не исправлено? – Pacerier

0

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

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

+0

Да, но вы все еще этого хотите. См. Http://stackoverflow.com/questions/212614/should-a-method-that-implements-an-interface-method-be-annotated-with-override –

+0

Ах да, спасибо за указатель. Должно быть, это пропустило, поскольку я все еще на Java 1.5 на Mac OSX :-) – fhe

2

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

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

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

+0

Я использую java 6 (отредактировал вопрос, чтобы сделать это ясно. Должно было сделать это раньше.) –

+0

Знаете ли вы, можно ли это сделать в настоящее время eclipse 4.4.1? –

1

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

Сложение ID: 20100218-1602