Ответ 1
По-видимому, вы можете перейти на Java 1.5 u21, и это устранит проблему:
Возможный дубликат:
Почему Eclipse жалуется на @Override на методы интерфейса?
У меня есть код Java, который был написан с использованием Eclipse и Java 6 SDK, поэтому методы, реализующие интерфейс, аннотируются с помощью @Override
- аннотации, которая является законной в Java 6, но не в Java 5.
Я хотел бы скомпилировать тот же код с помощью Java 5 SDK (javac
в Mac OS X 10.5). Все компилируется и работает отлично, за исключением аннотаций @Override
. Есть ли способ заставить javac игнорировать аннотации @Override
для этого проекта или это единственное решение для их удаления?
По-видимому, вы можете перейти на Java 1.5 u21, и это устранит проблему:
К сожалению, единственный способ - фактически удалить аннотации.
Если вы хотите, чтобы ваш код компилировался и запускался с помощью Java 5, вам следует разработать таргетинг на Java 5. В противном случае вы можете случайно использовать специальные SDK-методы Java 6 и т.д.
Вы можете использовать JDK6 для компиляции кода 1.5. Используйте -bootclasspath
, -target
и -source
. В качестве альтернативы, я считаю, что компилятор Eclipse рассматривает @Override
то же самое (это может быть неправильно!).
1.5 завершил период своей службы, и я предлагаю разрешить ему гнить.
@Override действителен в java 5 → http://java.sun.com/j2se/1.5.0/docs/api/index.html?java/lang/Override.html
Я рекомендую вам проверить настройки компилятора проекта в Eclipse, возможно, в Project → Compiler → Error/Warnings → Annotations?
Java 6 доступен для OS X. Проверьте обновление программного обеспечения. Когда у вас есть это, установите его как стандартную java-версию, а затем скомпилируйте.