Warum zeigt Eclipse Java Package Explorer in einigen Klassen ein Fragezeichen an?

95

Im Eclipse Helios Java Package Explorer werden auf den Java-Klassensymbolen rechts neben dem 'J' ein kleines Fragezeichen angezeigt, etwa [J?]. Dieses Symbol wird für jede Klasse in einem Paket in meinem Projekt angezeigt, aber ich kann in der Dokumentation keine Erklärung dafür finden.

Geben Sie hier die Bildbeschreibung ein

Irgendwann erwarte ich, dass sie verschwinden und durch kleine orangefarbene Rechtecke ersetzt werden. (Ich bin mir auch ihrer Bedeutung nicht sicher, aber weniger besorgt über ihre Konnotation.) Ich nehme an, diese Frage deutet auf eine größere Frage hin. Sind einige dieser Symbole irgendwo zusammen definiert?

dfdumaresq
quelle

Antworten:

133

Dies bedeutet, dass die Klasse noch nicht zum Repository hinzugefügt wurde.

Wenn Ihr Projekt ausgecheckt wurde (höchstwahrscheinlich ein CVS-Projekt) und Sie eine neue Klassendatei hinzugefügt haben, wird das ?Symbol angezeigt.

Weitere CVS-Etikettendekorationen finden Sie unter http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-cvs-decorations.htm

Aleks Felipe
quelle
Oh ja! Danke, das hat meine Frage beantwortet. Ich habe das Paket und die Klasse an CVS übergeben und die Fragezeichen sind weg.
dfdumaresq
27

Bei einigen Plug-Ins für die Versionskontrolle bedeutet dies, dass die lokale Datei noch nicht für das Versionskontroll-Repository freigegeben wurde . (In meiner Installation enthält dies Plug-Ins für CVS und Git, jedoch nicht für Perforce.)

Manchmal können Sie eine Liste dieser Dekorationen in den Einstellungen des Plug-Ins unter Team / X / Label-Dekorationen sehen , wobei X das Versionskontrollsystem beschreibt.

Für CVS sieht die Liste beispielsweise folgendermaßen aus:

Geben Sie hier die Bildbeschreibung ein

Diese Verzierungen werden zu den von Eclipse bereitgestellten Objektsymbolen hinzugefügt. Hier ist beispielsweise eine Tabelle mit Symbolen für die Java-Entwicklungsumgebung .

Andy Thomas
quelle
Dies liefert mir tatsächlich eine Liste aller Symbole. Danke dir!
dfdumaresq
Die Suche in der Eclipse-Hilfe konnte nicht gefunden werden. Die Hilfeseiten zu Etikettendekorationen enthalten lediglich allgemeine Informationen und einen Link zur Seite "Einstellungen" zum Aktivieren / Deaktivieren bestimmter Seiten, ohne zu zeigen, wie sie visuell aussehen.
Cincinnati Joe
21

Es hört sich so an, als würden Sie Subclipse verwenden. Ist das korrekt? Wenn ja, gibt es eine großartige Liste von Dekorateuren und deren Beschreibungen bei dieser Antwort von Tim Stone.

Hier ist der relevante Ausschnitt für Ihren Fall:

Unversionierte Datei- Eine Datei, die nicht der Versionskontrolle unterliegt. Dies sind normalerweise neue Dateien, die Sie noch nicht für das Repository festgeschrieben haben.
Synchronisierte Datei- Eine Datei ohne lokale Änderungen.

Pops
quelle
Ich verwende den CVS-Repository-Explorer (nicht sicher, ob Subclipse verwendet wird), aber ja, dies ist eine großartige Liste. Vielen Dank!
dfdumaresq
6

In einem Aktiviertes Projekt Das kleine Fragezeichen (?) zeigt an, dass Ihre Datei noch nicht zum SVN-Repository hinzugefügt wurde.

Das kleine orangefarbene Rechteck zeigt an, dass Ihre Datei im Repository festgeschrieben ist.

Ein Sternchen (*) zeigt eine lokale Änderung an.

Lachezar Balev
quelle
4

Diese Symbole sind eine Möglichkeit von Egit, Ihnen den Status der aktuellen Datei / des aktuellen Ordners in Git anzuzeigen. Vielleicht möchten Sie dies überprüfen:

Bild, das Eclipse-Symbole für Egit beschreibt

  • schmutzig (Ordner) - Mindestens eine Datei unter dem Ordner ist schmutzig; Das bedeutet, dass es Änderungen im Arbeitsbaum gibt, die sich weder im Index noch im Repository befinden.
  • verfolgt - Die Ressource ist dem Git-Repository bekannt. untracked - Die Ressource ist dem Git-Repository nicht bekannt.
  • ignoriert - Die Ressource wird vom Git-Team-Anbieter ignoriert. Hier sind nur die Voreinstellungen unter Team -> Ignorierte Ressourcen und das Flag "Abgeleitet" relevant. Die .gitignore-Datei wird nicht berücksichtigt.
  • Dirty - Die Ressource enthält Änderungen im Arbeitsbaum, die sich weder im Index noch im Repository befinden.
  • inszeniert - Die Ressource enthält Änderungen, die dem Index hinzugefügt werden. Nicht, dass das Hinzufügen zum Index derzeit nur im Commit-Dialog im Kontextmenü einer Ressource möglich ist.
  • teilweise bereitgestellt - Die Ressource enthält Änderungen, die dem Index hinzugefügt werden, sowie zusätzliche Änderungen im Arbeitsbaum, die sich weder im Index noch im Repository befinden.
  • hinzugefügt - Die Ressource wird noch nicht von verfolgt, sondern dem Git-Repository hinzugefügt.
  • entfernt - Die Ressource wird zum Entfernen aus dem Git-Repository bereitgestellt.
  • Konflikt - Für die Datei besteht ein Zusammenführungskonflikt.
  • angenommen-gültig - Die Ressource hat das Flag "unverändert annehmen". Dies bedeutet, dass Git die Arbeitsbaumdateien nicht mehr auf mögliche Änderungen überprüft. Sie müssen das Bit daher manuell deaktivieren, um Git mitzuteilen, wenn Sie die Arbeitsbaumdatei ändern. Diese Einstellung kann mit der Menüaktion Team-> Unverändert annehmen (oder in der Befehlszeile mit Git-Update-Index - Unverändert annehmen) aktiviert werden.
CommonSenseCode
quelle
0

Dies liegt daran, dass Ihr Projekt mit einem Git-Hub-Repository verknüpft wurde und die Datei mit dem Fragezeichen noch nicht hinzugefügt wurde. Wenn Sie dieses Zeichen entfernen möchten, müssen Sie diese Datei zum Git-Hub-Repository hinzufügen.

Muhammad Aamir Khan
quelle