«Переопределить метод суперclassа» Ошибки после импорта проекта в Eclipse

Каждый раз, когда мне приходится повторно импортировать мои проекты в Eclipse (если я переустановил Eclipse или изменил расположение проектов), почти все мои переопределенные методы не отформатированы правильно, что приведет к ошибке The method must override a superclass method .

Возможно, стоит упомянуть об этом в проектах Android – по какой-то причине значения аргумента метода не всегда заполняются, поэтому мне приходится вручную самостоятельно их заполнять. Например:

 list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { //These arguments have their correct names public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { } }); 

будут изначально заseleniumы следующим образом:

 list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { //This methods arguments were not automatically provided public void onCreateContextMenu(ContextMenu arg1, View arg2, ContextMenuInfo arg3) { } }); 

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

Это становится настоящей проблемой, когда вручную вручную восстанавливать ВСЕ мои переопределенные методы. Если кто-нибудь может объяснить, почему это происходит или как это исправить … Я был бы очень доволен.

Может быть, это связано с тем, как я форматирую методы, находящиеся внутри аргумента другого метода?

Eclipse по умолчанию использует Java 1.5, и у вас есть classы, реализующие методы интерфейса (которые в Java 1.6 можно аннотировать с помощью @Override , но в Java 1.5 можно применять только методы, переопределяющие метод суперclassа).

Перейдите в настройки вашего проекта / IDE и установите уровень компилятора Java равным 1.6, а также убедитесь, что вы выбрали JRE 1.6 для выполнения вашей программы из Eclipse.

С Eclipse Galileo вы переходите в пункт меню Eclipse -> Preferences, затем выберите Java и Compiler в диалоговом окне.

Теперь он все еще может показывать уровень соответствия компилятора на уровне 1.6, но вы все еще видите эту проблему. Теперь выберите ссылку « Настроить параметры проекта … », и там вы увидите, что проект установлен в 1.5, теперь измените это на 1.6. Вам нужно будет сделать это для всех затронутых проектов.

Этот византийский интерфейс меню / диалога типичен для плохого дизайна пользовательского интерфейса Eclipse.

В случае, если это случается с любым другим, кто пробовал как альфасеро, так и метод Павла, и все еще не работал.

Для меня затмение каким-то образом «кэшировало» ошибки компиляции даже после выполнения Project> Clean …

Мне нужно было снять флажок Project> Build Automatically, затем выполнить Project> Clean, а затем снова создать.

Кроме того, если вы сомневаетесь, попробуйте перезапустить Eclipse . Это может исправить множество неудобных, необъяснимых ошибок.

Чтобы устранить эту проблему, перейдите в свойства проекта -> Компилятор Java -> Выберите уровень соответствия компилятора 1.6-> Применить.

Ответ Павла частично помог мне. Тогда у меня была одна ошибка. Таким образом, в дополнение к этому, мне также пришлось перейти к Properties-> Project Facets и установить версию Java с 1.5 до 1.6.

Может быть, это помогает.

Ребята, в моем случае ни один из вышеперечисленных решений не работал.

Мне пришлось удалить файлы в рабочей области проекта:

  • .project
  • .classpath

И папка:

  • .settings

Затем я скопировал те из аналогичного проекта, который работал раньше. Это удалось исправить мой сломанный проект.

Конечно, не используйте этот метод, прежде чем пытаться использовать предыдущие альтернативы !.

Если ничего из вышеизложенного не помогает, убедитесь, что вы выбрали правильную « среду выполнения », а не «альтернативную JRE».

Вы можете найти:

Project -> Путь сборки -> Библиотеки

Выберите JRE System Library и нажмите « Edit... .

Если выбрано «Alternate JRE …», измените его на подходящую «среду выполнения», такую ​​как JavaSE-1.8 (jre1.8.0_60) . Не знаю, почему, но это решит это.

Это мой второй раз столкнулся с этой проблемой. первый раз по рекомендации альфасеро он работал. но во второй раз, когда я установил 1.6, он не работает так, как «CACHE» эта ошибка после очистки и восстановления.

Попробуйте отключить ‘Build Automatically’, как Rollin_s said -> ошибка все еще здесь!

Таким образом, я удалил проблемный проект (уже установленный в 1.6) из Package Explorer и снова импортировал его -> он запустил перестройку и на этот раз не ошибся

Надеюсь, что это поможет кому-то

Перейдите в windows-> preferences -> Java -> compiler -> Выберите уровень соответствия компилятора 1.6 (какая версия вы хотите) -> Apply-> ok. теперь его работа.

Исправление должно переопределить ошибку метода суперclassа, это не сложно, вам просто нужно изменить исходную версию Java на 1.6, потому что из Java 1.6 @Override может использоваться аннотация, а также метод интерфейса. Чтобы изменить исходную версию на 1.6, выполните следующие шаги:

  1. Выберите «Проект», щелкните правой кнопкой мыши, «Свойства»
  2. Выберите Java Compiler и установите флажок «Включить конкретные настройки проекта»,
  3. Теперь сделайте уровень соответствия компилятора 1.6
  4. Применить изменения

В моем случае эта проблема возникла, когда я импортировал проект Maven в Eclipse. Чтобы решить эту проблему, я добавил следующее в pom.xml :

  ... 1.8 1.8  

Затем в контекстном меню проекта перейдите в «Maven -> Обновить проект …» и нажмите OK.

Вот и все. Надеюсь это поможет.

В моем случае ни один из вышеперечисленных решений не работает. Мне нужно проверить исходный код на другую папку. Из eclipse выберите File> Switch workSpaces> Other … и затем импортируйте код в новые рабочие области. он работает после этого.

  • Как использовать интерфейс для связи между двумя действиями
  • Ошибка «ClassNotFoundException» в IntelliJ IDEA
  • Ориентация изображения - Android
  • Когда использовать конструктор и когда использовать метод getInstance () (статические заводские методы)?
  • Как остановить Proguard от удаления параметров типа?
  • Используйте мое собственное приложение для Android / apk в качестве запуска / Замена главного экрана
  • почему MenuItemCompat.getActionProvider возвращает значение null?
  • Android: навигационная панель для всех видов деятельности
  • Хостинг исполняемого файла в приложении Android
  • Перезапустите службу, даже если приложение отключено и продолжает работать в фоновом режиме даже после закрытия приложения How?
  • Чтение и отображение данных из TXT-файла
  • Давайте будем гением компьютера.