Вопрос

У меня есть существующий проект, который использует @Override о методах, которые переопределяют интерфейс методы, а не методы суперкласса.Я не могу изменить это в коде, но я бы хотел, чтобы Eclpse перестал жаловаться на аннотацию, поскольку я все еще могу создавать с помощью Maven.

Как бы мне отключить эту ошибку?

Примечание:Из-за требований проекта мне нужно скомпилировать для Java 1.5.

Это было полезно?

Решение

Используя @Override аннотации к методам, реализующим объявленные интерфейсом, действительны только начиная с Java 6.Это ошибка в Java 5.

Убедитесь, что ваши проекты IDE настроены на использование JRE Java 6, а для параметра «Совместимость исходного кода» установлено значение 1,6 или выше:

  1. Откройте диалоговое окно «Окно» > «Настройки».
  2. Перейдите к Java > Компилятор.
  3. Там установите «Уровень соответствия компилятора» на 1,6.

Помните, что Eclipse может переопределить эти глобальные настройки для конкретного проекта, поэтому проверьте и их.


Обновлять:

Ошибка в Java 5 касается не только Eclipse;с использованием javac прямо из командной строки выдаст ту же ошибку. Это недействительный исходный код Java 5.

Однако вы можете указать -target 1.5 вариант для JDK 6 javac, который создаст файл класса версии Java 5 из исходного кода Java 6.

Другие советы

Сделайте следующее:

Проект -> Свойства -> компилятор Java ->

  • Включить настройки проекта — «да»
  • Соответствие компилятора - 1,6
  • сгенерированные файлы классов и совместимость исходного кода - 1.5

Проверьте также, есть ли у проекта фасет.Версия Java может быть переопределена там.

Могут быть включены специальные настройки проекта.Выберите свой проект Project > Properties > Java Compiler, uncheck тот Enable project specific settings или изменить Jdk 1.6 и выше не забывая о соответствующем JRE.
Если это не сработает, удалите свой проект из eclipse, удалите .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».Затем добавьте обратно переопределения, не связанные с интерфейсом, с помощью «Очистки».

Шаги:

  1. Выберите проекты или папки, содержащие исходные файлы.
  2. Перейдите в «Поиск > Поиск...» (Ctrl-H), чтобы открыть диалоговое окно поиска.
  3. Перейдите на вкладку «Поиск файлов».
  4. Введите «@Override» в поле «Содержит текст» и «*.java» в поле «Шаблоны имен файлов».Нажмите «Заменить...», затем «ОК», чтобы удалить все экземпляры «@Override».
  5. Перейдите в «Окно > Настройки > Java > Стиль кода > Очистить» и создайте новый профиль.
  6. Отредактируйте профиль и снимите все флажки, кроме «Отсутствующий код» > «Добавить отсутствующие аннотации» > @Override.Убедитесь, что флажок «Реализации методов интерфейса» снят.
  7. Выберите проекты или папки, содержащие исходные файлы.
  8. Выберите «Источник > Очистить...» (Alt+Shift+s, затем u), затем «Готово», чтобы вернуть переопределения, не связанные с интерфейсом.

Я понял вашу проблему, измените свой jdk с вашего jdk на версию больше 1,5.

Настройка проектов IDE для использования JRE Java 6 или выше иногда не устраняет ошибку eclipse.Для меня перезапуск Eclipe IDE помогло.

Даже после изменения параметра соответствия компилятора на 1.6 или 1.7 с вкладки Windows, затем prefernces, затем java, затем compiler и настройки соответствия компилятора, у меня все еще была эта проблема.Идея заключается в том, что мы нужно зайти в папку проекта, щелкните правой кнопкой мыши, Java и установить компилятор соблюдение 1.6 или выше.У меня это сработало.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top