Jedes Mal, wenn ich meine Projekte erneut in Eclipse importieren muss (wenn ich Eclipse neu installiert oder den Speicherort der Projekte geändert habe), werden fast alle meiner überschriebenen Methoden nicht korrekt formatiert, was den Fehler verursacht:
Die Methode muss eine Methode der Oberklasse überschreiben
Es kann bemerkenswert sein zu erwähnen, dass dies bei Android-Projekten aus irgendeinem Grund der Fall ist. Die Werte der Methodenargumente werden nicht immer ausgefüllt, daher muss ich sie manuell selbst ausfüllen. Zum Beispiel:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//These arguments have their correct names
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
}
});
wird zunächst so ausgefüllt:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//This methods arguments were not automatically provided
public void onCreateContextMenu(ContextMenu arg1, View arg2,
ContextMenuInfo arg3) {
}
});
Das Seltsame ist, wenn ich meinen Code entferne und Eclipse die Methode automatisch neu erstellen lässt, werden dieselben Argumentnamen verwendet, die ich bereits hatte, sodass ich nicht wirklich weiß, wo das Problem liegt, außer dass die Methode automatisch formatiert wird mir.
Dies wird zu einem ziemlichen Schmerz, ALLE meine überschriebenen Methoden manuell von Hand neu erstellen zu müssen. Wenn jemand erklären kann, warum dies passiert oder wie man es behebt. Ich wäre sehr glücklich.
Vielleicht liegt es an der Art und Weise, wie ich die Methoden formatiere, die sich in einem Argument einer anderen Methode befinden?
quelle
Antworten:
Eclipse verwendet standardmäßig Java 1.5 und Sie haben Klassen, die Schnittstellenmethoden implementieren (die in Java 1.6 mit Anmerkungen versehen werden
@Override
können, in Java 1.5 jedoch nur auf Methoden angewendet werden können, die eine Superklassenmethode überschreiben).Gehen Sie zu Ihren Projekt- / IDE-Einstellungen und stellen Sie die Java-Compiler-Ebene auf 1.6 ein. Stellen Sie außerdem sicher, dass Sie JRE 1.6 auswählen, um Ihr Programm über Eclipse auszuführen.
quelle
Mit Eclipse Galileo gehen Sie zum Menüpunkt Eclipse -> Einstellungen und wählen im Dialogfeld Java und Compiler aus.
Jetzt wird möglicherweise immer noch die Compiler-Konformitätsstufe bei 1,6 angezeigt, aber Sie sehen dieses Problem immer noch. Wählen Sie nun den Link " Projektspezifische Einstellungen konfigurieren ... " und dort sehen Sie, dass das Projekt auf 1,5 eingestellt ist. Ändern Sie dies nun auf 1,6. Sie müssen dies für alle betroffenen Projekte tun.
Diese byzantinische Menü- / Dialogoberfläche ist typisch für das schlechte UI-Design von Eclipse.
quelle
Für den Fall, dass dies jemand anderem passiert, der sowohl Alphazero als auch Pauls Methode ausprobiert hat und trotzdem nicht funktioniert hat.
Für mich hat Eclipse die Kompilierungsfehler irgendwie 'zwischengespeichert', selbst nachdem ich ein Projekt> Clean ...
Ich musste Projekt> Automatisch erstellen deaktivieren, dann ein Projekt> Bereinigen ausführen und dann erneut erstellen.
Versuchen Sie im Zweifelsfall auch, Eclipse neu zu starten . Dies kann viele unangenehme, unerklärliche Fehler beheben.
quelle
Um dieses Problem zu beheben, gehen Sie zu Ihren Projekteigenschaften -> Java-Compiler -> Wählen Sie die Compiler-Konformitätsstufe auf 1.6-> Übernehmen.
quelle
Die Antwort von Paul hat teilweise für mich funktioniert. Ich hatte damals noch einen Fehler. Außerdem musste ich zusätzlich zu Eigenschaften-> Projektfacetten gehen und dort die Java-Version von 1.5 auf 1.6 einstellen.
Vielleicht hilft das.
quelle
Leute, in meinem Fall hat keine der oben genannten Lösungen funktioniert.
Ich musste die Dateien im Projektarbeitsbereich löschen:
Und der Ordner:
Dann habe ich diejenigen aus einem ähnlichen Projekt kopiert, das zuvor funktioniert hat. Dies hat es geschafft, mein kaputtes Projekt zu reparieren.
Verwenden Sie diese Methode natürlich nicht, bevor Sie die vorherigen Alternativen ausprobiert haben!.
quelle
Wenn nichts davon hilft, stellen Sie sicher, dass Sie eine geeignete " Ausführungsumgebung " ausgewählt haben und keine "Alternative JRE".
Zu finden unter:
Wählen Sie die aus
JRE System Library
und klicken Sie aufEdit...
.Wenn "Alternative JRE ..." ausgewählt ist, ändern Sie es in eine passende "Ausführungsumgebung" wie
JavaSE-1.8 (jre1.8.0_60)
. Keine Ahnung warum, aber das wird es lösen.quelle
Dies ist meine zweite Begegnung mit diesem Problem. Zum ersten Mal nach der Empfehlung des Alphazero hat es funktioniert. Aber beim zweiten Mal, als ich auf 1.6 gesetzt habe, funktioniert es nicht so wie 'CACHE' diesen Fehler nach dem Reinigen und Wiederherstellen.
Versuchen Sie, 'Automatisch erstellen' auszuschalten, wie Rollin_s sagte -> Fehler immer noch hier!
Also habe ich das Problemprojekt (bereits auf 1.6 eingestellt) aus dem Paket-Explorer entfernt und erneut importiert -> es startet eine Neuerstellung und diesmal ohne Fehler
Hoffe das hilft jemandem
quelle
Das Beheben eines Superklassen-Methodenfehlers muss nicht schwierig sein. Sie müssen lediglich die Java-Quellversion auf 1.6 ändern, da ab Java 1.6 die @ Override-Annotation zusammen mit der Schnittstellenmethode verwendet werden kann. Führen Sie die folgenden Schritte aus, um die Quellversion auf 1.6 zu ändern:
quelle
In meinem Fall trat dieses Problem auf, als ich ein Maven-Projekt in Eclipse importierte. Um dies zu lösen, habe ich Folgendes hinzugefügt
pom.xml
:Gehen Sie dann im Kontextmenü des Projekts zu "Maven -> Projekt aktualisieren ..." und drücken Sie OK.
Das ist es. Hoffe das hilft.
quelle
In meinem Fall funktioniert keine der oben genannten Lösungen. Ich muss meinen Quellcode in einen anderen Ordner auschecken. Wählen Sie in Eclipse Datei> Arbeitsbereiche wechseln> Andere ... und importieren Sie dann Code in die neuen Arbeitsbereiche. es funktioniert danach.
quelle
Dies geschieht, wenn Ihr Maven-Projekt unterschiedliche Compiler-Konformitätsstufen verwendet und Eclipse IDE unterschiedliche Compiler-Konformitätsstufen verwendet. Um dies zu beheben, müssen wir die Compiler-Konformitätsstufe des Maven-Projekts auf die von der IDE verwendete Stufe ändern.
1) Anzeigen der Java Compiler-Konformitätsstufe, die in der Eclipse-IDE verwendet wird
*) Fenster -> Einstellungen -> Compiler -> Compiler-Konformitätsstufe: 1,8 (oder 1,7, 1,6 ,, ect)
2) Ändern der Java Compiler-Konformitätsstufe des Maven-Projekts
*) Gehen Sie zu "Projekt" -> "Eigenschaften" -> Wählen Sie "Java Compiler" -> Ändern Sie die Compiler-Konformitätsstufe: 1.8 (oder 1.7, 1.6 ,, ect)
quelle