Frage "Überschreiben einer Superklassenmethode" Fehler nach dem Importieren eines Projekts in Eclipse


Jedes Mal, wenn ich meine Projekte erneut in Eclipse importieren muss (wenn ich Eclipse neu installiert habe oder den Speicherort der Projekte geändert habe), fast alles meiner überschriebenen Methoden sind nicht korrekt formatiert, was den Fehler verursacht The method must override a superclass method.

Es ist vielleicht erwähnenswert, dass dies bei Android-Projekten der Fall ist - aus welchen Gründen auch immer, die Werte des Methodenarguments sind nicht immer ausgefüllt, daher muss ich sie manuell ausfüllen. Zum Beispiel:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

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

});

wird anfänglich wie folgt bevölkert:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

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

});

Die seltsame Sache ist, wenn ich meinen Code entferne und Eclipse die Methode automatisch neu erstellt, verwendet er die gleichen Argumentnamen, die ich bereits hatte, also weiß ich nicht wirklich, wo das Problem ist, anders als die Methode automatisch zu formatieren mich.

Dies wird ein ziemlicher Schmerz, alle manuell überschriebenen Methoden manuell neu erstellen zu müssen. Wenn jemand erklären kann, warum das passiert oder wie es zu beheben ist .. Ich wäre sehr glücklich.

Vielleicht liegt es an der Art, wie ich die Methoden formatiere, die sich in einem Argument einer anderen Methode befinden?


1126
2017-11-05 03:17


Ursprung


Antworten:


Eclipse verwendet standardmäßig Java 1.5 und Sie verfügen über Klassen, die Schnittstellenmethoden implementieren (die in Java 1.6 mit Anmerkungen versehen werden können) @Override, aber in Java 1.5 kann nur auf Methoden angewendet werden, die eine Superklassenmethode überschreiben).

Gehen Sie zu Ihren Projekt- / IDE-Einstellungen und setzen Sie den Java-Compiler-Level auf 1.6 und stellen Sie sicher, dass Sie JRE 1.6 auswählen, um Ihr Programm von Eclipse aus auszuführen.


1383
2017-11-05 03:33



Mit Eklipse Galilei Sie gehen zu Eclipse -> Einstellungen Menü, dann wählen Sie Java und Compiler im Dialog.

Jetzt kann es Compiler-Compliance-Ebene bei 1,6 weiterhin anzeigen, dieses Problem wird jedoch weiterhin angezeigt. Wähle nun den Link "Konfigurieren Sie projektspezifische Einstellungen ..."Und dort sehen Sie, dass das Projekt auf 1,5 eingestellt ist, jetzt ändern Sie dies auf 1,6. Sie müssen dies für alle betroffenen Projekte tun.

Diese byzantinische Menü- / Dialogschnittstelle ist typisch für das schlechte UI-Design von Eclipse.


301
2017-09-08 03:48



Falls dies jemand anderem passiert, der sowohl Alphazero als auch Pauls Methode ausprobiert hat und immer noch nicht funktioniert hat.

Für mich hat Eclipse die Kompilierungsfehler irgendwie "zwischengespeichert", selbst nachdem ich ein Projekt> Säubern ... ausgeführt habe.

Ich musste "Projekt"> "Automatisch erstellen" deaktivieren, dann ein Projekt> "Säubern" ausführen und dann erneut erstellen.

Versuchen Sie im Zweifelsfall auch, Eclipse neu zu starten. Dies kann viele unangenehme, unerklärliche Fehler beheben.


74
2018-01-26 17:22



Um dieses Problem zu beheben, gehen Sie zu Ihrem Projekt Eigenschaften -> Java-Compiler -> Wählen Compiler-Compliance-Ebene bis 1.6-> Übernehmen.


38
2017-12-26 09:38



Die Antwort von Paul arbeitete teilweise für mich. Ich hatte dann immer noch einen Fehler. Also musste ich auch zu Eigenschaften-> Projektfacetten gehen und dort die Java-Version von 1.5 auf 1.6 setzen.

Vielleicht hilft das.


18
2018-02-05 16:25



Jungs in meinem Fall keine der oben genannten Lösungen.

Ich musste die Dateien im Projekt-Arbeitsbereich löschen:

  • .Projekt
  • .classpath

Und der Ordner:

  • .die Einstellungen

Dann kopierte ich die von einem ähnlichen Projekt, das vorher arbeitete. Dies hat mein defektes Projekt repariert.

Natürlich verwenden Sie diese Methode nicht, bevor Sie die vorherigen Alternativen ausprobieren!


11
2017-12-28 20:31



Wenn nichts von dem oben genannten hilft, stellen Sie sicher, dass Sie eine ordnungsgemäße "Ausführungsumgebung"ausgewählt, und nicht eine "Alternative JRE".

Zu finden unter:

Projekt -> Build Path -> Bibliotheken

Wähle aus JRE System Library und klicke Edit....

Wenn "Alternate 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.


9
2017-09-04 21:44



Dies ist mein zweites Mal, dieses Problem zu begegnen. Zum ersten Mal nach der Empfehlung des Alphazeros funktionierte es. aber in der zweiten Zeit, die ich auf 1,6 eingestellt habe, funktioniert es nicht wie 'CACHE' diesen Fehler nach dem Reinigen und Neuaufbau.

Versuchen Sie, 'Automatisch erstellen' auszuschalten, wie Rollin's sagte -> Fehler immer noch hier!

Also habe ich das Problemprojekt (bereits auf 1.6 gesetzt) ​​aus dem Package Explorer entfernt und neu importiert -> es startet eine Neuerstellung und diesmal kein Fehler

Hoffe, dass das jemandem hilft


8
2017-12-14 06:20



Gehe zu Windows-> Einstellungen -> Java -> Compiler -> Wählen Compiler Compliance Level zu 1.6 (welche Version Sie wollen) -> Übernehmen -> ok. jetzt seine Arbeit.


7
2017-12-08 09:46