it-swarm.com.de

Was kann in Eclipse zu einem "red-x" -Fehlersymbol führen, wenn alle Java-Quellen fehlerfrei kompiliert werden?

Ich benutze Eclipse für die Java-Entwicklung. Alle meine Quellen kompilieren gut und die resultierende Anwendung kompiliert gut. Ich erhalte jedoch weiterhin eine "red-x" -Fehlermeldung im Paket-Explorer.

Alle meine Quellen in diesem Quellverzeichnis (zu lang für die Momentaufnahme) lassen sich gut kompilieren, ohne dass das Fehlersymbol "rot-x" angezeigt wird.

Vorschläge zur Behebung des Problems würden wir sehr begrüßen.

84

ja, das passiert manchmal ohne ersichtlichen Grund. Sie können zum "Probleme" -Tab (direkt neben der Konsolenausgabe) gehen und die Fehlermeldung anzeigen, sodass Sie sie möglicherweise einschränken.

150
Jan Gressmann

Das passiert oft, wenn ich Maven benutze, und ich hatte es immer ignoriert, bis ich diese Frage fand. In diesem Fall müssen Sie das Projekt aktualisieren (finden Sie dies im Fenster "Probleme".)

Wählen Sie im Kontextmenü des Projekts: Maven -> Projekt aktualisieren und wählen Sie die verfügbaren Maven-Codebasis aus

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

11

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

10
flash

Ich möchte mich zunächst bei allen bedanken, die geantwortet haben. Aber das Reinigen und Umbauen reichte in meinem Fall nicht aus, da das Problem noch vorhanden war und repariert werden musste.

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

Momentaufnahme des Paket-Explorers mit fehlerhaftem "Copy of Dagskra" -Verzeichnis http://www.freeimagehosting.net/uploads/a824304b18.png

Es war der Hinweis, die Registerkarte "Probleme" zu lesen :-), die mich in die richtige Richtung drehte. Daher wähle ich diese Antwort als akzeptierte Antwort aus, da ich dies brauchte:

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

Ich hoffe, das hilft anderen ...

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

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

4
AaMng

Wenn Sie feststellen, dass möglicherweise ein Paket im Buildpfad fehlt, also das rote X gegen das Hauptprojekt, können Sie dieses entfernen:

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

rotes X-Beginen! :)

1
junipa

In .project gibt es manchmal Fehler beim Build-Pfad, und Sie müssen zur Ressourcenansicht wechseln, um die Datei anzuzeigen, die den Fehler verursacht.

1
JeeBee

Auch gelegentlich ist Subversion der Schuldige. Es hat möglicherweise nichts mit Ihrer Umgebung zu tun. Es kann jedoch eine Diskrepanz zwischen dem aktuellen und dem lokalen Status des Projekts geben. In meinem Fall lieferte ein Update und dann ein Commit an den Subversion-Server das erwartete Ergebnis ohne Flag im Projekt, z.

1
Jay Snayder

Ich hatte das gleiche Problem und unter den folgenden Schritten wurde das Problem gelöst:

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

  2. Starten Sie die Eclipse 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 aus. 

Bitte versuche.

1
sun2

Wie andere schon gesagt haben, sind schlechte Dateiverweise im Build-Pfad oft der Täter.

Normalerweise eine JAR-Datei, die verschoben/gelöscht wurde. Eclipse erwartet, an dem angegebenen Speicherort alles zu finden, auf das der Build-Pfad verweist, und beschwert sich, wenn nicht.

0
madlep

Ich bin heute auf dieses Problem gestoßen und habe diesen Link gefunden. Ich folgte wie oben von Patrick Schaefer erwähnt und öffnete den Update Maven Projektdialog. 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.

0
eshu

Dies geschah, als ich fabric.io von Eclipse Mars heruntergeladen habe, aber der Neustart des Computers löste dieses Problem für mich.

0

In meinem Fall löste sich das Problem einfach darin, Eclipse zu schließen und erneut zu öffnen. Ich bin mir jedoch immer noch nicht sicher, warum dies passiert ist oder warum es funktioniert hat. Ich hatte Probleme beim Reinigen meines Projekts (es sagte, dass es bestimmte Dateien nicht löschen konnte) und dieses Problem gelöst wurde :):

0
DarkCygnus

ich hatte das gleiche Problem. Ich habe "Problems" -Tab überprüft und keinen Server für das Projekt gefunden. Ich habe den Server definiert. die rote-x verschwand

0
Hao

Versuchen Sie einen Neuaufbau. Ich habe festgestellt, dass die roten Xs nicht immer verschwinden, bis eine Neuerstellung abgeschlossen ist.

0
mdec

Ich bin schon oft mit einem ähnlichen Problem konfrontiert. Was für mich normalerweise der Fall ist, ist, dass eine Java-Datei sagt, dass sie nicht im Texteditor kompiliert wird. Im Paket-Explorer wird jedoch die Kompilierung angezeigt.

Manchmal funktioniert ein 'rebuild' oder 'clean-build' nicht, die Dateien werden nicht wirklich erstellt (man muss davon ausgehen, dass Eclipse denkt, dass die Dateien auf dem neuesten Stand sind) und wenn dies passiert, öffne ich mich normalerweise den Java-Build-Pfad und verschieben Sie einfach eine meiner Abhängigkeiten in der Reihenfolge nach unten. Dies zwingt Eclipse, alles neu zu erstellen, und es scheint immer zu funktionieren.

Wenn Sie immer noch Probleme haben, versuchen Sie, das Projekt zu kopieren und zu sehen, ob Sie dasselbe Verhalten erhalten und bei einem letzten Versuch, einen Fehler für Eclipse zu veröffentlichen, kann es einige Zeit dauern, bis das Problem behoben ist gehört.

0
Henry B

Meine Lösung, die sich schließlich bewährt hat, bestand darin, alle Projekte zu reinigen, Eclipse zu schließen, alle Projekte zu reinigen, Eclipse zu schließen und so weiter, mindestens 5-6 Mal. Irgendwann hat sich alles beruhigt und alles war wie erwartet. Merkwürdigste Sache überhaupt !! 

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

Dies geschah auch nach einem Computerabsturz. Als es das letzte Mal passiert ist, war mein gesamter Arbeitsbereich komplett verloren. Es war immer noch auf dem Computer, aber wenn ich versuchte, darauf zuzugreifen, war alles leer. 

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

0

Um die vorherige Antwort zu ergänzen, besteht die extreme Möglichkeit, Ihr Projekt zu "bereinigen", indem Sie es löschen (dh den Verweis aus dem Arbeitsbereich löschen, nicht die eigentlichen Dateien löschen) und anschließend erneut importieren.
Manchmal hilft es ...

0
VonC

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

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

Das hat mir geholfen.

Vielen Dank.

0
abhijitcaps

FindBugs setzt auch ein rotes X gegen Dateien/Pakete, um statische Code-Analysefehler anzuzeigen.

0
Rahul

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

0
Andreas

Ich erlebe auch gelegentlich diese geheimnisvollen Fehlersymbole auf Paketen. Eine Möglichkeit, sie loszuwerden, funktioniert für mich, indem Sie die JRE-Systembibliothek effektiv aus dem Java Build Path entfernen und sie wieder hinzufügen. 

0
greiball

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

Wenn es eine Bibliothek gibt, die mit X markiert ist, dh [Kreuz markiert], wurde sie entfernt, und versuchen Sie erneut zu bauen. Es hat auch für mich funktioniert / 

0
Anjali

Ich habe das durchgemacht. Mein Fall war intensiver. Das Projekt wurde von der Maven-Befehlszeile aus gut gepackt.

Ein paar Dinge, die ich gemacht habe ... 1. Eine Klasse hat viele Importe, die Eclipse durcheinander bringen. Das Reinigen löste einen Teil des Problems 2. In einem Fall ging es um einen Setter, der die Taste F3 drückte und zu diesem Setter navigierte, obwohl Eclipse sich darüber beklagte, es sei nicht da. Also habe ich es einfach umgetippt und es hat gut funktioniert (auch für alle anderen Setter)

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

0

Ich habe meine gelöst 

  • Schließen Sie alle anderen Projekte (d. H. Nicht verwandte Projektoption)

  • Reinigen und bauen

Mein Projekt war Android, und das hat es geschafft.

0
Katedral Pillon