Was bedeutet das rote Ausrufezeichen in Eclipse?

157

Was bedeutet das rote Ausrufezeichen in Eclipse? Im Internet gibt es viele verschiedene Suchergebnisse zu "roten Ausrufezeichen-Symbolen" und "roten Ausrufezeichen-Dekoratoren" und "roten Knall-Symbolen", ohne Zweifel, da viele Plugins und programmierbezogene Tools rote Ausrufezeichen-Symbole verwenden. Um klar zu sein, das ist das, was ich meine:

Screenshot des roten Ausrufezeichen-Symbols

Es wird als Dekorateur für Projekte in der Ansicht "Paket-Explorer" angezeigt.

In meinem Fall verschwand das Symbol, als eine fehlende Buildpfadvariable ausgefüllt wurde. Ich verwende MyEclipse 9.0, glaube jedoch nicht, dass dies MyEclipse-spezifisch ist. Andere Personen im Internet haben berichtet, dass dies mit anderen Problemen zu tun hat, einschließlich Subclipse, dem .svnOrdner und dem Verschieben von Dateien zwischen Arbeitskopien.

Pops
quelle
1
Da sich herausstellte, dass dies ein Standard-Eclipse-Symbol ist: siehe auch stackoverflow.com/questions/1561336/…
Pops

Antworten:

182

Laut Dokumentation :

Dekoriert Java-Projekte und Arbeitssätze, die Fehler beim Erstellen von Pfaden enthalten

In der Praxis habe ich festgestellt, dass ein "Build Path Error" aus einer Reihe von Gründen verursacht werden kann, je nachdem, welche Plugins aktiv sind. Überprüfen Sie die Ansicht "Probleme" für weitere Informationen.

ZoogieZork
quelle
1
Ich habe die Fehler entfernen lassen, aber ich sehe immer noch ein rotes Symbol.
Etwas
1
Dies lag daran, dass sich der Erstellungspfad der Uploader für das externe Jar von dem Ort unterschied, an dem sich meiner befand. +1 für Infos.
Doomsknight
1
Die Ansicht "Probleme" zeigt nichts an, wenn es sich um einen SVN-Fehler handelt. Versuchen Sie, den .svn-Ordner aus dem fehlerhaften Ordner zu löschen und in diesem Fall zu aktualisieren.
Iono
16
+1 für "Überprüfen Sie die Problemansicht " . In meinem Fall war an dem überprüften Projekt nichts auszusetzen, sondern es fehlte dem Projekt "der erforderliche Quellordner: 'target / generate / src / main / java' ". Das passiert, wenn Sie Maven verwenden und das Projekt nach dem Auschecken noch nicht zum ersten Mal erstellt haben.
Zurückgehalten am
Außerdem wird manchmal immer noch angegeben, dass die JAR im Erstellungspfad verknüpft ist, wenn Sie versuchen, eine JAR wieder hinzuzufügen. Warten Sie einen Moment, es sollte es beheben.
Rishi
17

Ich hatte auch ein ähnliches Problem, als ich versuchte, die Quelldatei und die JAR-Datei von einem Computer auf einen anderen Computer zu importieren. Der Pfad der JAR war bei neuen Maschinen anders als bei alten Maschinen. Ich habe es als Below gelöst

  1. Klicken Sie mit der rechten Maustaste auf den "Projektnamen".
  2. Wählen Sie "Pfad erstellen"
  3. Wählen Sie dann "Build-Pfad konfigurieren".
  4. Klicken Sie auf "Bibliotheken"
  5. Entfernen Sie alle Bibliotheken, die auf den alten Pfad verweisen

Dann wurde das Ausrufezeichen auf dem "Projektnamen" entfernt.

Yogishaj
quelle
Danke für deine Antwort. Ich schätze Ihre Hilfsbereitschaft, aber dies beantwortet meine Frage technisch nicht. Ich habe mich gefragt, was das Symbol bedeutet, aber das erklärt nur, wie man es loswird.
Pops
16

Dies bedeutet, dass ein Problem mit dem Erstellungspfad in Ihrem Projekt vorliegt. Wenn es sich um ein Android-Projekt handelt, bedeutet dies meistens, dass der in der Datei project.properties angegebene Zielwert nicht gefunden werden kann. Dies kann auch durch andere Arten von Problemen verursacht werden. Es wird jedoch hauptsächlich nur für gebaute Probleme angezeigt. Siehe hier für weitere Details. Es geht um einen in Eclipse gezeigten Fehlerdekorateur.

Ein Auszug aus dieser Seite:

Probleme mit Build-Pfaden sind unter anderem in einem Projekt manchmal leicht zu übersehen. In den Ansichten "Package Explorer" und "Project Explorer" wird jetzt ein neuer Dekorator für Java-Projekte und Arbeitssätze angezeigt, die Fehler beim Erstellen des Pfads enthalten:

Geben Sie hier die Bildbeschreibung ein

Die konkreten Fehler werden in der Ansicht "Probleme" angezeigt. Wenn Sie das Ansichtsmenü öffnen und "Gruppieren nach"> "Java-Problemtyp" auswählen, werden sie alle in der Kategorie "Erstellungspfad" angezeigt:

Geben Sie hier die Bildbeschreibung ein

Vincent Vettukal
quelle
7

Es kann mehrere Gründe geben. In den meisten Fällen kann dies einer der folgenden Gründe sein:

  1. Sie haben einige der JAR-Dateien aus Ihrem Ordner / lib gelöscht
  2. Sie haben neue JAR-Dateien hinzugefügt
  3. Sie haben neue JAR-Dateien hinzugefügt, die möglicherweise mit anderen in Konflikt stehen

Wir müssen also die fehlenden / aktualisierenden / neu hinzugefügten JAR-Dateien auflösen.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und go to properties
  2. Wählen Java Build Path
  3. Gehe zur LibrariesRegisterkarte
  4. Entfernen Sie die JAR-Dateireferenzen, die Sie bereits entfernt haben. In der Nähe befindet sich eine rote Markierung, damit Sie sie leicht identifizieren können.
  5. Fügen Sie mithilfe von die Verweise auf die neu hinzugefügten JAR-Dateien hinzu Add JARs
  6. Aktualisieren Sie das Projekt

Dies wird das Problem lösen, wenn es einen der oben genannten Gründe hat.

Prime
quelle
6

Ich habe ein anderes Szenario gefunden, in dem das rote Ausrufezeichen angezeigt werden könnte. Ich habe ein Verzeichnis von einem Projekt in ein anderes kopiert. Dieses Verzeichnis enthielt ein verstecktes .svn-Verzeichnis (das ursprüngliche Projekt wurde der Versionskontrolle übergeben). Als ich mein neues Projekt in SVN eincheckte, enthielt das kopierte Verzeichnis immer noch die alten SVN-Informationen und identifizierte sich fälschlicherweise als Element in seinem ursprünglichen Projekt.

Ich habe das Problem entdeckt, indem ich mir die Eigenschaften des Verzeichnisses angesehen, SVN-Informationen ausgewählt und die Ressourcen-URL überprüft habe. Ich habe das Problem behoben, indem ich das versteckte .svn-Verzeichnis für mein kopiertes Verzeichnis gelöscht und mein Projekt aktualisiert habe. Das rote Ausrufezeichen verschwand und ich konnte das Verzeichnis und seinen Inhalt korrekt einchecken.

Steve Hansen Smythe
quelle
4

Was ich getan habe, war eigenartig, aber irgendwie hat es das Problem behoben. Wählen Sie ein Projekt aus und führen Sie eine gefälschte Bearbeitung der Datei build.properties durch (z. B. Hinzufügen und Entfernen eines Leerzeichens und Speichern der Datei). Bereinigen Sie die Projekte in Ihrem Arbeitsbereich und erstellen Sie sie neu.

Hoffe, dies löst einige Ihrer Probleme.

TennFest
quelle
2

Stellen Sie sicher, dass Sie keine undefinierten Klassenpfadvariablen haben (wie M2_REPO).

An̲̳̳drew
quelle
2

Ich hatte das gleiche Problem und Andrew ist richtig. Überprüfen Sie Ihre Klassenpfadvariable "M2_REPO". Es weist wahrscheinlich auf einen ungültigen Speicherort Ihres lokalen Maven-Repos hin.

In meinem Fall habe ich verwendet mvn eclipse:eclipse in der Befehlszeile verwendet und dieses Plugin hat die Klassenpfadvariable M2_REPO gesetzt. Eclipse konnte meine maven settings.xml nicht in meinem Home-Verzeichnis finden und war daher fälschlicherweise die Klassenpfadvariable M2_REPO. Meine Lösung bestand darin, Eclipse neu zu starten. Es nahm meine settings.xml auf und entfernte den roten Ausruf in meinen Projekten.

Ich habe weitere Informationen von diesem Typen erhalten: http://www.mkyong.com/maven/how-to-configure-m2_repo-variable-in-eclipse-ide/

Terence
quelle
2

Die Lösung, die für mich funktioniert hat, ist die folgende von Steve Hansen Smythe. Ich füge es gerade hier ein. Danke Steve.

"Ich habe ein anderes Szenario gefunden, in dem das rote Ausrufezeichen angezeigt werden könnte. Ich habe ein Verzeichnis von einem Projekt in ein anderes kopiert. Dieses Verzeichnis enthielt ein verstecktes SVN-Verzeichnis (das ursprüngliche Projekt war der Versionskontrolle verpflichtet). Als ich mein neues Projekt überprüfte In SVN enthielt das kopierte Verzeichnis weiterhin die alten SVN-Informationen und identifizierte sich fälschlicherweise als Element in seinem ursprünglichen Projekt.

Ich habe das Problem entdeckt, indem ich mir die Eigenschaften des Verzeichnisses angesehen, SVN-Informationen ausgewählt und die Ressourcen-URL überprüft habe. Ich habe das Problem behoben, indem ich das versteckte .svn-Verzeichnis für mein kopiertes Verzeichnis gelöscht und mein Projekt aktualisiert habe. Das rote Ausrufezeichen verschwand und ich konnte das Verzeichnis und seinen Inhalt korrekt einchecken. "

user1163441
quelle
0

Die Lösung, die für mich funktioniert hat, ist die folgende.

Ich habe das bestimmte Projekt ausgewählt> Rechtsklick> Erstellungspfad> Erstellungspfad konfigurieren> Bibliotheken> Ich habe festgestellt, dass die JRE-Systembibliothek daher (ungebunden) angezeigt wird.

Wählen Sie diese Bibliothek aus> klicken Sie auf Entfernen> klicken Sie auf Übernehmen> klicken Sie auf Bibliothek hinzufügen> JRE-Systembibliothek> Weiter> Arbeitsbereich Standard-JRE> klicken Sie auf Fertig stellen> Übernehmen> OK.

Jetzt werden diese Ausrufezeichen in Ihrem Projekt nicht mehr angezeigt.

Naresh Kumar
quelle