Eclipse игнорирует неправильные аннотации @Override

По какой-то причине одна из моих установок eclipse игнорирует неправильные аннотации @Override. Например, если я положил @Override на метод, который не переопределен, он просто полностью игнорирует его.

Любые идеи о том, как вернуть его в состояние, в котором будет отображаться ошибка для некорректно аннотированного метода?

Ответ 2

Моя теория заключается в том, что ваш Eclipse настроен для соответствия JDK 1.6, но ваша сборка Ant (или что-то другое) компилируется с помощью компилятора JDK 1.5.

В аннотации @Override между JDK 1.5 произошло изменение. и 1.6. В 1.5 это можно было использовать только тогда, когда конкретный метод фактически переопределяет конкретный метод в суперклассе. В JDK 1.6 его также можно использовать, когда аннотированный метод реализует абстрактный метод, определенный в интерфейсе или суперклассе.

Способ установки уровня соответствия Eclipse состоит в том, чтобы открыть Windows > Предпочтения, выбрать панель Java > Компилятор и изменить настройку "Компилятор Java" на 1.5. Затем используйте Apply или OK, чтобы применить изменение предпочтений.

(AFAIK, нет возможности получить Eclipse, чтобы дать вам 1.5 предупреждения стиля в режиме соблюдения 1.6).

Ответ 3

Аннотации @override были введены в JDK > 1.5.

На этой машине вы бы случайно использовали старую версию JDK?