суббота, 7 января 2012 г.

фикс для 'Must Override a Superclass Method'

Долгое время меня постоянно беспокоила ошибка в Эклипсе, когда после импорта проекта, постоянно приходилось комментировать @override, среда почему упорно не видела в родительских классах методы, сегодня порывшись в гугле наконец-то нашел решение.
Выяснилось что это различия в версиях Java.
версия 1.5 понимает все немного не так как версия 1.6
То бишь решение: В опциях проекта выставить Project-Properties-Java compiler-Compliance level=1.6

source from StackOverflow
Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 can be annotated with @Override, but in Java 1.5 can only be applied to methods overriding a superclass method).

Go to your project/ide preferences and set the java compiler level to 1.6 and also make sure you select JRE 1.6 to execute your program from eclipse.

3 комментария:

  1. Мне очень помогло сейчас! Большое спасибо!

    ОтветитьУдалить
  2. У меня JDK 1.7, JDK Compliance как опция в Eclipse стоит 1.7. У меня тоже выскакивает такая ошибка. Очень позорно, особенно когда работаю с чужими открытыми исходниками. Насколько мне удалось нарыть, это баг/фича 1.7. Как быть? Откатываться обратно к 1.6 нет желания.

    ОтветитьУдалить
  3. К сожалению с JDK1.7 я вообще не работал.

    ОтветитьУдалить