У меня есть существующий проект, который использует @Override
методы, которые переопределяют методы интерфейса , а не методы суперкласса. Я не могу изменить это в коде, но я бы хотел, чтобы Eclpse прекратил жаловаться на аннотацию, поскольку я все еще могу строить с Maven.
Как бы я отключил эту ошибку?
Примечание: из-за требований проекта, мне нужно скомпилировать для Java 1.5.
java
eclipse
interface
annotations
syntax-error
Стефан Кендалл
источник
источник
Ответы:
Использование
@Override
аннотации для методов, реализующих методы, объявленные интерфейсом, допустимо только в Java 6 и более поздних версиях. Это ошибка в Java 5.Убедитесь, что ваши проекты IDE настроены на использование Java 6 JRE и что «совместимость с исходным кодом» установлена на 1.6 или выше:
Помните, что Eclipse может переопределить эти глобальные настройки для конкретного проекта, поэтому проверьте их тоже.
Обновить:
Ошибка в Java 5 не только в Eclipse; использование
javac
непосредственно из командной строки выдаст вам ту же ошибку. Это не правильный исходный код Java 5.Однако вы можете указать
-target 1.5
опцию для JDK 6javac
, которая будет производить файл класса версии Java 5 из исходного кода Java 6.источник
Сделайте следующее:
Проект -> Свойства -> Java-компилятор ->
источник
Проверьте также, есть ли у проекта аспект. Версия Java может быть переопределена там.
источник
Настройки проекта могут быть включены. Выберите проект
Project > Properties > Java Compiler
,uncheck
вEnable project specific settings
или измененияJdk 1.6
и выше , не забывая соответствующийJRE
.Incase она не работает, удалить проект из затмений, удалять
.settings folders
,.project
,.classpath
файлы.clean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project
и затмение У меня сработалоисточник
Вы можете изменить настройки компилятора так, чтобы он принимал синтаксис Java 6, но генерировал вывод Java 5 (насколько я помню). И установите «Совместимость с сгенерированными файлами классов» немного ниже, если это необходимо вашей средой выполнения. Обновление : я проверил Eclipse, но он жалуется, если я устанавливаю совместимость с исходниками на 1.6 и совместимость с классами на 1.5. Если 1.6 не разрешен, я обычно вручную закомментирую некорректные аннотации @Override в источнике (что не помогает вашему случаю).
Обновление 2: Если вы делаете только ручную сборку, вы можете написать небольшую программу, которая копирует исходный проект в новый, убирает аннотации @Override из исходных текстов Java, и вы просто нажимаете Очистить проект в Eclipse.
источник
Вы также можете попробовать Retroweaver для создания версии Java5 из классов Java6.
источник
Используйте Eclipse для поиска и замены (удаления) всех экземпляров «@Override». Затем добавьте обратно неинтерфейсные переопределения, используя «Очистить».
шаги:
источник
Я понял вашу проблему, измените JDK с JDK на 1,5
источник
Конфигурирование того, что проекты IDE настроены на использование Java 6 JRE или выше, иногда не устраняет ошибку eclipse. Для меня перезапуск Eclipe IDE помог.
источник
Даже после изменения параметра соответствия компилятора на вкладку Windows до 1.6 или 1.7, затем предпочтений, затем java, затем компилятора и настройки соответствия компилятора, у меня все еще была эта проблема. Идея заключается в том, что нам нужно перейти в папку проекта, щелкнуть правой кнопкой мыши по Java и установить соответствие компилятора на 1.6 или выше. Это сработало для меня.
источник