Błędy 'must Override a Superclass Method' po zaimportowaniu projektu do Eclipse

Za każdym razem, gdy muszę ponownie zaimportować moje projekty do Eclipse (jeśli ponownie zainstalowałem Eclipse lub zmieniłem lokalizację projektów), prawie wszystkie moich nadpisanych metod nie są poprawnie sformatowane, powodując błąd:

Metoda musi nadpisać metodę klasy nadrzędnej

Warto wspomnieć, że jest to w przypadku projektów Android z jakiegokolwiek powodu, wartości argumentów metody nie zawsze są wypełnione, więc muszę je ręcznie wypełnić siebie. Na przykład:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

Będzie początkowo wypełniona w następujący sposób:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

Dziwne jest to, że jeśli usunę mój kod i każę Eclipse automatycznie odtworzyć metodę, to użyje tych samych nazw argumentów, które już miałem, więc nie wiem, gdzie jest problem, poza tym automatycznie formatuje metodę dla mnie.

To staje się dość bolesne, gdy ręcznie odtwarzam wszystkie moje przesadne metody ręcznie. Jeśli ktoś może wyjaśnić, dlaczego tak się dzieje lub jak to naprawić. I would be bardzo szczęśliwy.

Może wynika to ze sposobu, w jaki formatuję metody, które są wewnątrz argumentu innej metody?

Author: Arsen Khachaturyan, 2009-11-05

13 answers

Eclipse jest domyślne dla Javy 1.5 i masz klasy implementujące metody interfejsu (które w Javie 1.6 mogą być przypisane @Override, ale w Javie 1.5 mogą być stosowane tylko do metod nadpisujących metodę klasy nadrzędnej).

Przejdź do preferencji projektu / IDE i ustaw kompilator Javy NA 1.6, a także upewnij się, że wybrałeś JRE 1.6, aby uruchomić program z Eclipse.

 1441
Author: alphazero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-06 11:44:38

Z Eclipse Galileo przechodzimy do pozycji menu Eclipse - > Preferences, następnie w oknie dialogowym wybieramy Java i kompilator.

Teraz nadal może pokazywać poziom zgodności kompilatora na poziomie 1.6, ale nadal widzisz ten problem. Teraz wybierz link " Konfiguruj ustawienia specyficzne dla projektu... " i tam zobaczysz, że projekt jest ustawiony na 1.5, teraz zmień to na 1.6. Musisz to zrobić dla wszystkich projektów, których to dotyczy.

Ten interfejs menu / okna dialogowego jest typowy dla Kiepski interfejs użytkownika Eclipse.

 309
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-08 03:48:49

Na wypadek, gdyby zdarzyło się to komuś, kto wypróbował zarówno metodę alphazero, jak i Paula i nadal nie zadziałał.

Dla mnie eclipse jakoś "buforował" błędy kompilacji nawet po wykonaniu projektu > Clean...

Musiałem usunąć zaznaczenie Project > Build automatycznie, następnie wykonać projekt > Clean, a następnie zbudować ponownie.

W razie wątpliwości spróbuj ponownie uruchomić Eclipse . Może to naprawić wiele niewygodnych, niewytłumaczalnych błędów.

 81
Author: Rollin_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-22 20:37:02

Aby rozwiązać ten problem, przejdź do właściwości projektu - > Java compiler - > Wybierz compiler compliance level to 1.6 - > Apply.

 42
Author: false9striker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-21 15:47:48

Odpowiedź Pawła zadziałała dla mnie częściowo. Nadal miałem jeden błąd. Tak więc, oprócz tego, musiałem również przejść do Właściwości - > aspekty projektu i tam ustawić wersję Java z 1.5 do 1.6.

Może to pomoże.

 22
Author: ulrich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-05 16:25:08

Chłopaki w moim przypadku żadne z powyższych rozwiązań nie zadziałało.

Musiałem usunąć Pliki z obszaru roboczego projektu:

  • .projekt
  • .classpath

Oraz folder:

  • .Ustawienia

Potem skopiowałem te z podobnego projektu, który działał wcześniej. To udało się naprawić mój zepsuty projekt.

Oczywiście nie używaj tej metody przed wypróbowaniem poprzednich alternatyw!.

 14
Author: will824,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-28 20:31:27

Jeśli nic z powyższych nie pomoże, upewnij się, że wybrano odpowiednie środowisko wykonawcze i , a nie "Alternate JRE".

Znajduje się pod:

Project - > Build Path - > Libraries

Wybierz JRE System Library i kliknij Edit....

If " Alternate JRE ..."jest zaznaczone, zmień je na odpowiednie "środowisko wykonawcze" jak JavaSE-1.8 (jre1.8.0_60). Nie wiem dlaczego, ale to rozwiąże problem.

 14
Author: phil294,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-04 21:44:13

To mój drugi raz napotkać ten problem. pierwszy raz zgodnie z zaleceniem alphazero zadziałało. ale za drugim razem ustawiłem na 1.6 to nie działa tak jak "CACHE" ten błąd po wyczyszczeniu i odbudowaniu.

Spróbuj wyłączyć 'Build Automatically' jak powiedział Rollin_s - > błąd nadal tutaj!

Więc usunąłem problemowy projekt (już ustawiony na 1.6) z Package Explorer i zaimportowałem go ponownie - > uruchamia odbudowę i tym razem nie ma błędu

Hope this help someone

 11
Author: ob.yann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-14 06:20:19

W moim przypadku problem ten wystąpił, gdy zaimportowałem projekt Maven do Eclipse. Aby to rozwiązać, dodałem w pom.xml:

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Następnie w menu kontekstowym projektu przejdź do "Maven - > Update Project ...", i naciśnij OK.

To wszystko. Mam nadzieję, że to pomoże.
 11
Author: mljrg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-22 18:30:40

Fixing must override a super class method error is not difficult, You just need to change Java source version to 1.6 because from Java 1.6 @ Override adnotation can be used together with interface method. Aby zmienić wersję źródłową na 1.6 wykonaj poniższe kroki:

  1. Wybierz projekt, kliknij prawym przyciskiem myszy, Właściwości
  2. Wybierz Java Compiler i zaznacz pole wyboru "Włącz ustawienia specyficzne dla projektu"
  3. Teraz ustaw poziom zgodności kompilatora Na 1.6
  4. Zastosuj zmiany
 10
Author: Sunil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-21 06:23:58

W moim przypadku żadne powyższe rozwiązania nie działają. Muszę sprawdzić mój kod źródłowy w innym folderze. Z eclipse wybierz File > Switch workSpaces > Other... a następnie zaimportuj kod do nowych obszarów roboczych. potem działa.

 6
Author: Hắc Huyền Minh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-16 04:32:40

Dzieje się tak, gdy twój projekt maven używa innego poziomu zgodności kompilatora, a Eclipse IDE używa innego poziomu zgodności kompilatora. Aby to naprawić, musimy zmienić poziom zgodności kompilatora projektu Maven na poziom używany przez IDE.

1) aby zobaczyć poziom zgodności kompilatora Java w Eclipse IDE

*) Window -> Preferences -> Compiler -> compiler Compliance level : 1.8 (or 1.7, 1.6 ,, ect)

2) zmiana poziomu zgodności kompilatora Javy z Maven projekt

*) przejdź do "Project" - > "Properties" -> Wybierz "Java Compiler" - > Zmień poziom zgodności kompilatora : 1.8 (lub 1.7, 1.6 ,, ect)

 2
Author: HashanR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-21 18:03:54

Jest rok 2020 -

Project > kliknij prawym przyciskiem myszy > Java Compiler > Compiler Compliance Level > Zmień to na 1.8 [lub najnowszy poziom]

Tutaj wpisz opis obrazka

 0
Author: Vikas Piprade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-29 14:14:34