| Eclipse Startup Freeze
Kategorie Programmierung, erstellt am 08.09.2010 von Christian Klaproth
|
|
|
Seit einer gefühlten Ewigkeit habe ich keinen Eintrag mehr für die Kategorie "Programmierung" spendiert. Aber dem möchte ich heute mit diesem Eintrag entgegenwirken. Wer also an Programierung im Allgemeinen und der Entwicklungsumgebung Eclipse im Speziellen kein Interesse hat, muss nicht weiterlesen. Es wird auch nicht lustig.
Es gibt ja bekanntlich einige Dinge, die mag Eclipse nicht so sehr. Zum Beispiel das Ändern der Dateien, die in der Hoheit des Workspaces liegen. Kann man diesem Problem jedoch meistens mit einem Refresh entgegnen, sieht es etwas schwieriger aus, wenn man Eclipse wegen eines vermeintlichen Deadlocks o.ä. während eines Builds abschießt. Eclipse merkt sich den Zustand des Workspaces und die Tatsache, dass gerade ein Build lief und möchte mit dem nächsten Start der Workbench erstmal genüsslich und in aller Ruhe alle Änderungen wiederherstellen. Im Logfile heisst es ganz unscheinbar: "!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes."
Eclipse startet diese Aufgabe bereits, während noch der Splashscreen angezeigt wird, und zeigt die Workbench auch nicht eher an, bis dieser Task abgeschlossen ist. Nun kann dies bei einer Vielzahl von Projekten im Workspace schonmal eine halbe Stunde oder länger dauern. Zeit, in der man die Workbench allerdings nicht nutzen kann, da man ja noch im Splashscreen hängt. Zu allem übel erscheint Eclipse im Windows-Taskmanager während dieser Phase auch noch tot: Weder Prozessor-Last noch Speicherbelegung geben einen Hinweis darauf, dass Eclipse noch etwas tun würde.
Wer in einer solchen Situation steckt - und der befand ich mich, weshalb ich diese Selbstnotiz in meinen Blog stelle - kann sich dadurch helfen, indem er Eclipse via Taskmanager beendet und ausgehend von seinem Workspace-Verzeichnis die Datei \.metadata\.plugins\org.eclipse.core.resources\.snap löscht. Danach lässt sich Eclipse erstmal wieder so starten, dass zunächst die Workbench vollständig geladen wird. Ein Refresh kann dann innerhalb der Workbench ausgelöst werden. |
|
|
|
|