Was kann in Eclipse das Fehlersymbol "red-x" des Paket-Explorers verursachen, wenn alle Java-Quellen fehlerfrei kompiliert werden?


94

Ich verwende Eclipse für die Java-Entwicklung. Alle meine Quellen werden gut kompiliert und die resultierende Anwendung wird gut kompiliert. Ich erhalte jedoch immer wieder eine "red-x" -Fehlerbenachrichtigung im Paket-Explorer.

Alle meine Quellen in diesem Quellverzeichnis (zu lang für den Schnappschuss) werden einwandfrei kompiliert. Keine der Quellen zeigt das Fehlersymbol "rot-x" an.

Vorschläge zur Behebung des Problems sind sehr willkommen.

Antworten:


167

Ja, das passiert manchmal ohne ersichtlichen Grund. Sie können zur Registerkarte "Probleme" (direkt neben der Konsolenausgabe) gehen und die Fehlermeldung anzeigen. Vielleicht können Sie sie auf diese Weise eingrenzen.


6
Ich bekomme es speziell, wenn eine andere Nicht-Java-Komponente die Validierung nicht besteht (ein gutes Beispiel wäre eine XML-Datei wie die von Spring oder Maven).
Spencer Kormos

2
Wenn Sie in der Problemansicht ein Problem sehen, ist dies ein offensichtlicher Grund. Ich habe noch keinen Fehler ohne ersichtlichen Grund gesehen :)
Nanda

Hinzufügen zu Jan-Gressmans Antwort. Wenn Sie auf die Registerkarte "Probleme" schauen, werden Sie manchmal feststellen, dass es sich bei dem Problem um zusätzliche Dateien mit einem Unterstrich in einigen Ordnern handelt, z. B. __duplicatefile.java. Um dies zu beheben, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie: Anzeigen in> Navigator. Löschen Sie dann die doppelten Dateien mit Unterstrich und erstellen Sie Ihr Projekt.
GraSim

3
Ich stoße auch darauf - oft. Für mich kommt es auf manuelle Änderungen an meiner POM-Datei an, wenn Eclipse & Maven und die Befehlszeile (mvn) austauschbar verwendet werden. So beheben Sie das Problem: Verwenden Sie die Registerkarte Probleme, um wie oben angegeben zu diagnostizieren. Wenn das POM nicht synchron ist, können Sie das Projekt mit Maven in Eclipse "aktualisieren": Klicken Sie mit der rechten Maustaste auf das Projekt im Paket-Explorer und wählen Sie "Maven" ", Wählen Sie" Projekt aktualisieren ". Stellen Sie sicher, dass "Projektkonfiguration von pom.xml aktualisieren", "Arbeitsbereich aktualisieren ..." und "Projekte bereinigen" ausgewählt sind.
Zack Jannsen

Guter Rat, um Probleme zu betrachten. Mein Projekt musste aktualisiert werden.
Downeyt

16

Dies passiert oft, wenn ich Maven benutze, und ich habe es immer ignoriert, bis ich diese Frage gefunden habe. In diesem Fall müssen Sie das Projekt aktualisieren (dies können Sie im Bereich Probleme herausfinden).

Im Kontextmenü des Projekts: Maven -> Projekt aktualisieren und wählen Sie die verfügbaren Maven-Codebasen aus

Alternativ können Sie (Alt + F5) verwenden, um dasselbe Fenster aufzurufen


1
Selbst wenn ich auf das Update-Projekt stoße, löst es das Problem für mich nicht. Auf der Registerkarte Probleme erhalte ich 100 Fehler, die undefiniert / nicht initialisiert / nicht in einen Typ aufgelöst werden können ... Irgendwelche Gedanken, wie man das ganz schnell loswird
Eswar

11

Versuchen Sie, das Projekt zu bereinigen und neu zu erstellen.


6

Nach dem Bau. Aktualisieren Sie das Projekt und klicken Sie in Eclipse mit der rechten Maustaste auf die Registerkarte Probleme, und wählen Sie Alle löschen.

Es kommt häufig vor, dass Sie Maven installieren und Eclipse-Eigenschaftendateien nicht ordnungsgemäß aktualisiert werden. Auch wenn Ihr Projekt keine Fehler aufweist. Hoffnungsvoll!


Klicken Sie mit der rechten Maustaste in den Bereich Probleme und wählen Sie "Löschen" - das musste ich hören!
Gabriel Staples

5

Zunächst möchte ich mich bei allen bedanken, die geantwortet haben. Aber das Reinigen und Umbauen war in meinem Fall nicht genug, da das Problem immer noch vorhanden war und behoben werden musste.

Es stellte sich heraus, dass eines meiner Paketverzeichnisse versehentlich kopiert wurde, sodass jetzt ein zusätzliches Verzeichnis namens "Kopie von Dagskra" mit Java-Dateien mit falschen Paketdeklarationen vorhanden war. Außerdem werden die Fehler in diesem "neuen" Verzeichnis nicht mit einem "red-x" in dem Paket angezeigt, in dem es vorhanden ist:

Schnappschuss aus dem Paket-Explorer mit fehlerhaftem Verzeichnis "Kopie von Dagskra" http://www.freeimagehosting.net/uploads/a824304b18.png

Es war der Hinweis, die Registerkarte "Probleme" zu lesen :-), der mich in die richtige Richtung brachte, also wähle ich diese Antwort als akzeptierte Antwort aus, weil ich Folgendes brauchte:

Schnappschuss von der Registerkarte Probleme http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Ich hoffe, das hilft anderen ...


2

Wenn Sie also feststellen, dass möglicherweise ein Paket im Erstellungspfad fehlt, also das rote x gegen das Hauptprojekt, um dies zu entfernen:

1) Gehen Sie zu "Configure Buildpath" des Projekts. 2) Java Build Path -> Registerkarte "Source" - Sie sollten das rote x gegen das fehlende Paket / die fehlende Datei sehen. Wenn es nicht mehr existiert, "entfernen" Sie es einfach.

rotes X beginnt! :) :)


1

Manchmal gibt es Buildpfadfehler in .project, und Sie müssen zur Ressourcenansicht wechseln, um die Datei zu sehen, die den Fehler verursacht.


1

Ich hatte das gleiche Problem und die folgenden Schritte haben das Problem behoben:

  1. Löschen Sie die JRE aus PROJECT> Eigenschaften> Java-Erstellungspfad> Bibliotheken.

  2. Starten Sie die Sonnenfinsternis neu

  3. Fügen Sie die JRE erneut hinzu

  4. Erstellen Sie das Projekt mit Projekt> Bereinigen neu und wählen Sie die Option zum automatischen Erstellen.

Bitte versuche.


Diese Frage ist fast vier Jahre alt, wurde bereits beantwortet und ist ein Duplikat der Antwort. Bitte posten Sie neue Informationen nur, wenn dies dem Autor der Frage wahrscheinlich hilft.
Sam

Entschuldigung für die Verwirrung, aber so wie ich es sehe, habe ich versucht, eine neue Antwort nicht doppelt zu posten.
Sun2

Ich bin hier mit dem gleichen Problem am 28.01.18. Es ist immer noch gut, Antworten zu geben, unabhängig davon, wie alt die Frage ist.
Tadele Ayelegn

1

Gelegentlich ist auch dafür die Subversion verantwortlich. Es hat möglicherweise nichts mit Ihrer Umgebung zu tun. Möglicherweise besteht jedoch eine Diskrepanz zwischen dem aktuellen und dem lokalen Status des Projekts. In meinem Fall lieferte mir ein Update und dann ein Commit auf den Subversion-Server das erwartete saubere Ergebnis ohne Flags im Projekt wie das X.


Ich sehe, dass SVN-Plugins für Eclipse nicht sehr stabil sind. Ich habe immer wieder Probleme mit ihnen. Ich beschuldige sie (ich habe keine Ahnung, nur eine Ahnung). Was Sie vorgeschlagen haben, hat für mich +1 funktioniert.
Pantelis Natsiavas

0

Versuchen Sie einen Umbau. Ich habe festgestellt, dass die roten x nicht immer verschwinden, bis ein Wiederaufbau abgeschlossen ist.


0

Ich bin oft auf ein ähnliches Problem gestoßen. Normalerweise passiert für mich, dass eine Java-Datei sagt, dass sie nicht im Texteditor kompiliert wird, aber im Paket-Explorer, dass sie gut kompiliert.

Manchmal funktioniert ein 'Neuaufbau' oder 'Clean-Build' nicht, die Dateien werden nicht wirklich erstellt (man muss davon ausgehen, dass Eclipse die Dateien für aktuell hält), und wenn dies passiert, öffne ich normalerweise den Java-Build-Pfad und verschieben Sie einfach eine meiner Abhängigkeiten in der Hackreihenfolge nach unten / oben. Dies zwingt Eclipse dazu, alles neu aufzubauen, und es scheint immer zu funktionieren.

Wenn Sie immer noch Probleme haben, versuchen Sie, das Projekt zu kopieren und festzustellen, ob Sie das gleiche Verhalten feststellen. Bei einem letzten Versuch, einen Fehler für Eclipse zu melden, kann es eine Weile dauern, bis sie behoben sind, aber zumindest wissen Sie, dass Sie es sind gehört.


0

Um die vorherige Antwort zu ergänzen, besteht eine extreme Möglichkeit zum "Bereinigen" Ihres Projekts darin, es zu löschen (dh die Referenz aus dem Arbeitsbereich zu löschen, nicht die tatsächlichen Dateien zu löschen) und es dann erneut zu importieren.
Manchmal hilft es ...


0

Wie andere gesagt haben, sind häufig schlechte Dateiverweise im Erstellungspfad der Schuldige.

Normalerweise eine .jar-Datei, die verschoben / gelöscht wurde. Eclipse erwartet, dass alles, auf das im Erstellungspfad verwiesen wird, an der angegebenen Position gefunden wird, und beschwert sich, wenn nicht.


0

FindBugs setzt außerdem ein rotes x für Dateien / Pakete, um statische Code-Analysefehler anzuzeigen.


0

Ich habe das durchlaufen. Mein Fall war mehr involviert. Das Projekt wurde gut über die Maven-Befehlszeile verpackt.

Ein paar Dinge, die ich gemacht habe. 1. Eine Klasse hat viele Importe, die die Sonnenfinsternis verwirren. Das Reinigen behebt einen Teil des Problems 2. Ein Fall betraf einen Setter, der F3 drückte und zu diesem Setter navigierte, obwohl Eclipse sich beschwerte, dass er nicht vorhanden ist. Also habe ich es einfach neu getippt und es hat gut funktioniert (auch für alle anderen Setter)

Ich habe immer noch Probleme mit dem impliziten Superkonstruktor Item () ist für den Standardkonstruktor nicht definiert. Muss einen expliziten Konstruktor definieren "


0

Von Zeit zu Zeit erlebe ich auch diese mysteriösen Fehlersymbole auf Paketen. Eine Möglichkeit, sie zu entfernen, die für mich funktioniert, besteht darin, die JRE-Systembibliothek effektiv aus dem Java-Erstellungspfad zu entfernen und wieder hinzuzufügen.


Der Fragesteller fragte nach der Ursache, Sie haben eine Problemumgehung bereitgestellt
Johannes

0

Meine Lösung, die schließlich funktionierte, bestand darin, alle Projekte zu bereinigen, Eclipse zu schließen, alle Projekte zu bereinigen, Eclipse zu schließen usw. mindestens 5-6 Mal. Schließlich beruhigte sich alles und alles war wie erwartet. Das Seltsamste überhaupt !!

Und nein, es gab keine Fehler in der Problem- oder Konsolenansicht.

Auch dies geschah nach einem Computerabsturz. Das letzte Mal war mein gesamter Arbeitsbereich völlig verloren. Es war immer noch auf dem Computer vorhanden, aber wenn ich versuchte, darauf zuzugreifen, war alles leer.

Aus irgendeinem Grund werden Computerabstürze von Eclipse wirklich sehr, sehr schlecht behandelt.


0

Sie können das Projekt auch aktualisieren, indem Sie auf klicken:

Klicken Sie mit der rechten Maustaste auf den Projektnamen -> Wählen Sie Maven -> Rechtsklick -> Projekt aktualisieren.

Das hat mir geholfen.

Vielen Dank.


0

Dies kann aus mehreren Gründen auftreten. Wenn Sie das JDK geändert haben, wird neben der Projektfacette ein rotes X angezeigt, während in keinem anderen Ordner ein Fehler angezeigt wird. Wenn dies der Fall ist, ändern Sie das angezeigte JDK. Dies geschieht gelegentlich in unserer JAX-WS-Klasse ( HSG)


0

Ich habe meine gelöst durch

  • Schließen Sie alle anderen Projekte (dh nicht verwandte Projektoption).

  • Reinigen und bauen

Mein Projekt war Android, und das hat es geschafft.


0

Dies geschah, als ich Fabric.io auf Eclipse Mars heruntergeladen habe, aber ein Neustart des Computers hat dieses Problem für mich gelöst.


0

In meinem Fall war es das Problem, Eclipse einfach zu schließen und wieder zu öffnen. Ich bin mir jedoch immer noch nicht sicher, warum dies passiert ist oder warum es funktioniert hat. Ich hatte Probleme beim Bereinigen meines Projekts (es wurde angegeben, dass bestimmte Dateien nicht gelöscht werden konnten) und dies löste das Problem :):


0

Ich hatte das gleiche Problem. Ich habe die Registerkarte "Probleme" aktiviert und keinen Server für das Projekt gefunden. Ich habe den Server definiert. das rote x verschwand


0

Sie können zu Projekt-> Erstellungspfad-> Bibliothek gehen

Wenn es eine Bibliothek gibt, die mit X markiert ist, dh [mit einem Kreuz markiert], entfernen Sie sie und versuchen Sie erneut, sie zu erstellen. Es hat auch bei mir funktioniert /


0

Ich bin heute auf dieses Problem gestoßen und habe diesen Link gefunden. Ich folgte wie oben von Patrick Schaefer erwähnt und öffnete das Update Maven-Projekt Dialog. Klicken Sie auf mein Arbeitsprojekt und aktivieren Sie das Kontrollkästchen "Aktualisierung von Snapshots / Releases erzwingen" und "OK". Das ganze rote Kreuz verschwand. Ich hoffe, das hilft jemandem in einer ähnlichen Situation.


-2

Klicken Sie mit der rechten Maustaste auf das fehlerhafte Projekt und wählen Sie dann in den Untermenüs: Maven > UpdateProject >

und dann:

  • Aktivieren Sie das Kontrollkästchen für alle abhängigen Projekte
  • Wählen Sie Aktualisierung von Schnappschüssen erzwingen
  • OK klicken.

Das hat bei mir funktioniert ..

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.