Eclipse hängt beim Laden der Workbench

95

Meine Sonnenfinsternis stoppt das Laden der Workbench. Ich habe bereits versucht, mit ./eclipse --clean zu beginnen

Beim Starten von der Konsole wird die folgende Ausnahme ausgelöst:

java.lang.NullPointerException
    at org.eclipse.core.internal.runtime.Log.isLoggable(Log.java:101)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.safeIsLoggable(ExtendedLogReaderServiceFactory.java:57)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.logPrivileged(ExtendedLogReaderServiceFactory.java:158)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.log(ExtendedLogReaderServiceFactory.java:146)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceFactory.log(ExtendedLogServiceFactory.java:65)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceImpl.log(ExtendedLogServiceImpl.java:87)
    at org.eclipse.equinox.log.internal.LoggerImpl.log(LoggerImpl.java:54)
    at org.eclipse.core.internal.runtime.Log.log(Log.java:60)
    at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:92)
    at org.tigris.subversion.clientadapter.Activator.getAnyClientAdapter(Activator.java:81)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:145)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:92)
    at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:425)
    at org.tigris.subversion.subclipse.core.status.NonRecursiveStatusUpdateStrategy.statusesToUpdate(NonRecursiveStatusUpdateStrategy.java:53)
    at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refreshStatus(StatusCacheManager.java:273)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.refreshStatus(FileModificationManager.java:179)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.resourceChanged(FileModificationManager.java:128)
    at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
    at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
    at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
    at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Es stoppt beim Laden von com.android.ide.eclipse.adt

Was ist los mit meiner Werkbank?

Eclipse-Startbildschirm

Endian
quelle
1
Es sieht so aus, als hätte --cleannichts zu tun, während -clean(einzelner Bindestrich) tatsächlich einen Effekt zu haben scheint (in meinem Fall mit Eclipse Neon).
Christopher Schultz

Antworten:

146

DISCLAIMER: THIS WILL DELETE ALL OF YOUR ECLIPSE WORKSPACE SETTINGS AND YOU WILL HAVE TO RE-IMPORT ALL YOUR PROJECTS, THERE ARE LESS DESTRUCTIVE ANSWERS HERE

Versuche Folgendes:

  1. Löschen Sie den Ordner .metadata in Ihrem lokalen Arbeitsbereich (dies hat bei mir funktioniert). Es scheint, dass es eine .LOCK-Datei enthält, die verhindert, dass Eclipse ordnungsgemäß gestartet wird, wenn sie nicht ordnungsgemäß geschlossen wird. Auf Unix-basierten Systemen können Sie Folgendes über die Befehlszeile eingeben.

    rm -r workspace/.metadata
    
  2. Löschen Sie Ihr .eclipse- Verzeichnis in Ihrem Home-Verzeichnis. Starten Sie Eclipse. Wenn das nicht funktioniert,

  3. Öffnen Sie Eclipse unter einem anderen Benutzerkonto. Wenn es geladen wird, liegt das Problem an Ihrem Konto und nicht an Ihrer Eclipse-Installation.

George
quelle
Es ist mir passiert, nachdem ich versehentlich auf Datei-> Neustart geklickt habe.
Nurnachman
68
In den meisten Fällen rm workspace/.metadata/.lockfunktioniert für mich. Stellen Sie sicher, dass Sie Eclipse mit ./eclipse -clean -refreshjedem Versuch starten . Danke, dass du uns unterrichtet mv .eclipse .eclipse.oldhast, was heute nicht geholfen hat. Heute hat es geholfen zu löschen workspace/.metadata/.plugins/. Alle Plugins haben danach tatsächlich funktioniert. Einige Einstellungen sind weg. Sie können dann Import...alle vorhandenen Projekte gleichzeitig importieren. Löschen workspace/.metadataist die letzte Wahl, funktioniert aber. Sie können behalten, workspace/.metadata/.mylynwenn Sie Ihre Aufgaben nicht verlieren möchten.
Sulai
Vielen Dank dafür! Ersparte mir viel Mühe, als Eclipse nicht mehr abrupt reagierte. Stackoverflow rockt und die Community auch!
HungryForKnowledge
3
Löschen Sie einfach die .lock-Datei - Sie müssen nicht alle Einstellungen verlieren!
Slott
7
Das Löschen von .lock hat mir nicht geholfen, aber das Löschen .metadata/.plugins/org.eclipse.core.resources/.snaphat
serge
92

Das unter http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/ gezeigte Verfahren hat bei mir funktioniert:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Starten Sie Eclipse. (Es sollte eine Fehlermeldung oder ein leerer Arbeitsbereich angezeigt werden, da kein Projekt gefunden wurde.)
  4. Schließen Sie alle geöffneten Editor-Registerkarten.
  5. Beenden Sie Eclipse.
  6. rm -rf org.eclipse.core.resources (Löscht das neu erstellte Verzeichnis.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Stellen Sie das ursprüngliche Verzeichnis wieder her.)
  8. Starten Sie Eclipse und beginnen Sie zu arbeiten. :-)

In anderen Antworten:

eclipse -clean -clearPersistedState

wird erwähnt - was den gleichen oder sogar besseren Effekt zu haben scheint.

Hier ist ein Skript für MacOS (unter Verwendung von Macports) und Linux (unter Ubuntu mit Eclipse Equinox getestet), um den Start mit einem optionalen Kill der laufenden Eclipse durchzuführen. Möglicherweise möchten Sie das Skript an Ihre Anforderungen anpassen. Wenn Sie neue Plattformen hinzufügen, bearbeiten Sie das Skript direkt in dieser Antwort.

#!/bin/bash
# WF 2014-03-14
#
# ceclipse:
#   start Eclipse cleanly
#
#   this script calls eclipse with -clean and -clearPersistedState
#   if an instance of eclipse is already running the user is asked
#   if it should be killed first and if answered yes the process will be killed
#
# usage: ceclipse
#

#
# error
#
#   show an error message and exit
#
#   params:
#     1: l_msg - the message to display
error() {
  local l_msg="$1"
  echo "error: $l_msg" 1>&2
  exit 1 
}

#
# autoinstall
#
#  check that l_prog is available by calling which
#  if not available install from given package depending on Operating system
#
#  params: 
#    1: l_prog: The program that shall be checked
#    2: l_linuxpackage: The apt-package to install from
#    3: l_macospackage: The MacPorts package to install from
#
autoinstall() {
  local l_prog=$1
  local l_linuxpackage=$2
  local l_macospackage=$3
  echo "checking that $l_prog  is installed on os $os ..."
  which $l_prog 
  if [ $? -eq 1 ]
  then
    case $os in 
      # Mac OS
      Darwin) 
        echo "installing $l_prog from MacPorts package $l_macospackage"        
        sudo port install $l_macospackage
      ;;
      # e.g. Ubuntu/Fedora/Debian/Suse
      Linux)
        echo "installing $l_prog from apt-package $l_linuxpackage"        
        sudo apt-get install $l_linuxpackage
      ;;
      # git bash (Windows)
      MINGW32_NT-6.1)
        error "$l_prog ist not installed"
      ;;
      *)
        error "unknown operating system $os" 
    esac
  fi
}

# global operating system variable
os=`uname`

# first set 
#  eclipse_proc - the name of the eclipse process to look for
#  eclipse_app - the name of the eclipse application to start
case $os in 
    # Mac OS
    Darwin) 
      eclipse_proc="Eclipse.app" 
      eclipse_app="/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse"
      ;;
    # e.g. Ubuntu/Fedora/Debian/Suse
    Linux)
      eclipse_proc="/usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar"
      eclipse_app=`which eclipse`
      ;;
    # git bash (Windows)
    MINGW32_NT-6.1)
      eclipse_app=`which eclipse`
      error "$os not implemented yet"
      ;;
    *)
      error "unknown operating system $os" 
esac

# check that pgrep is installed or install it
autoinstall pgrep procps

# check whether eclipse process is running
# first check that we only find one process
echo "looking for $eclipse_proc process"
pgrep -fl "$eclipse_proc"
# can't use -c option on MacOS - use platform independent approach 
#eclipse_count=`pgrep -cfl "$eclipse_proc"`
eclipse_count=`pgrep -fl "$eclipse_proc" | wc -l | tr -d ' '`

# check how many processes matched
case $eclipse_count in
  # no eclipse - do nothing
  0) ;;
  # exactly one - offer to kill it
  1) 
     echo "Eclipse is running - shall i kill and restart it with -clean? y/n?"
       read answer
       case $answer in
         y|Y) ;;
           *) error "aborted ..." ;;
       esac
     echo "killing current $eclipse_proc"
     pkill -f "$eclipse_proc"
     ;;
  # multiple - this is bogus
  *) error "$eclipse_count processes matching $eclipse_proc found - please adapt $0";;
esac

tmp=/tmp/eclipse$$
echo "starting eclipse cleanly ... using $tmp for nohup.out"
mkdir -p $tmp
cd $tmp

# start eclipse with clean options
nohup $eclipse_app -clean -clearPersistedState&
Wolfgang Fahl
quelle
1
Vielen Dank! Dies ist ein besserer Ansatz als nur das Löschen des gesamten Metadatenordners. es hat perfekt funktioniert
Jakob
1
Viel besser. Geholfen auf Kepler unter Mac OS X Mavericks
Robert Sösemann
5
Dieser "Eclipse -clean -clearPersistedState" hat mir geholfen, danke!
Michal
2
-clean -clearPersistedState arbeitete für mich in Aptana Studio 3 bei Sieg 7
Lorenz Haase
2
eclipse -clean -clearPersistedState Arbeitete in Kepler Win 7
Yitzchak
37
./eclipse -clean -refresh

Wie im Kommentar von Sulai 20. Dezember 12 um 12:46 erwähnt, hat das für mich funktioniert.

Unter Mac OS X musste ich jedoch herausfinden, wie ich zu ./eclipse komme

Hier ist die Lösung:

cd Eclipse.app/Contents/MacOS/

Vielen Dank an Andrews Kommentar für diesen Beitrag: https://stackoverflow.com/a/1783448/2162226

Gene Bo
quelle
2
Ich musste zuerst einen neuen Arbeitsbereich (ich nannte ihn Test) mit -clean -refresh öffnen. Und als Eclipse (in meinem Fall GGTS) ​​geöffnet wurde, wählte ich Datei> Arbeitsbereich wechseln und kehrte zu dem Arbeitsbereich zurück, der ursprünglich das Einfrierproblem verursacht hatte.
pm_labs
Auf Eclipse Luna ist die Anwendung eigentlich nur die Datei, keine CD in den Ordner. Nur Laufen hat ./eclipse -clean -refreshes für mich behoben
Sirenen
20

Die beste Lösung, die ich gefunden habe, ist das Löschen dieser Datei: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench

user1252459
quelle
2
In Eclipse Indigo. Versuchen Sie rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere
1
Dies hat dieses Problem für mich mit TIBCO BusinessWorks Design Studio unter Windows 7
behoben
Auf meinem MacBook Pro 12 "funktionierte diese Lösung für mich am besten
ironmantis7x
12

Es ist nicht erforderlich, die gesamten Metadaten zu löschen. Versuchen Sie einfach, die .snap- Datei unter org.eclipse.core.resources in Ihrem Arbeitsbereichsordner zu löschen .

workspaceFolder.metadata.plugins \ org.eclipse.core.resources

user742102
quelle
Das Löschen dieser einen Datei hat bei mir fast jedes Mal funktioniert, wenn Eclipse beim Start hängen bleibt. Vielen Dank!
Joseph
Das Löschen der .snap-Datei funktionierte für mich für Eclipse Mars - 4.5.1 (auf Mac El Capitan)
Hashcoder
Arbeitete für mich mit JBoss Developer Studio 10
Thomas
11

Ich habe das Löschen von * .snap aus dem Arbeitsbereichsverzeichnis (und allen Unterverzeichnissen) gelöst:

Metadaten \ .plugins \ *. snap

lujop
quelle
1
Dies hat mich davor bewahrt, alle meine Einstellungen zu verlieren!
tprk77
8

Ziemlich alte Frage, aber die einfachste Antwort ist noch nicht veröffentlicht.
Hier ist es:
1) In Datei [workspace]\.metadata\.plugins\org.eclipse.e4.workbench löschen workbench.xmi .
In den meisten Fällen reicht es aus - versuchen Sie, Eclipse zu laden.
Trotzdem müssen Sie Ihre spezifischen Perspektiveneinstellungen neu konfigurieren (falls vorhanden).

2) Haben Sie jetzt Probleme mit Bauprojekten, die perfekt funktioniert haben? Nach meiner Erfahrung helfen folgende Schritte:
- Deaktivieren Sie Projekte -> Automatisch erstellen - Wechseln Sie
zur Java-Perspektive (falls noch nicht): Fenster -> Perspektive öffnen -> Java
- Suchen Sie die Problemansicht oder öffnen Sie sie: Fenster -> Ansicht anzeigen -> Probleme
- Klicken Sie mit der rechten Maustaste auf Problemgruppen und wählen Sie Löschen . Stellen Sie sicher, dass Sie Flusenfehler löschen
- bereinigen Sie den Arbeitsbereich: Projekt -> Bereinigen ... mit der Option Alle Projekte bereinigen
- Aktivieren Sie Projekte-> Automatisch erstellen
- wenn bei einigen Projekten weiterhin Probleme auftreten: Klicken Sie mit der rechten Maustaste auf Projekt, wählen Sie Eigenschaften -> Androidund stellen Sie sicher, dass das entsprechende Project Build-Ziel ausgewählt ist

3) Es hat mir immer gereicht. Aber wenn Sie immer noch Probleme haben - versuchen Sie es mit @george Post-Empfehlungen

sberezin
quelle
Danke dir! Nichts anderes funktionierte als das Löschen von workbench.xmi
Einfach Craig
6

Das folgende Verfahren funktionierte auf meinem MacOS (Mavericks) und Eclipse Luna 4.4.1:

Löschen Sie die .snap-Datei unter dem Pfad "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Wenn Sie auf dem Mac nicht wissen, wie Sie zu diesem Ordner navigieren sollen, drücken Sie Cmd + Umschalt + G (Gehe zum Ordner) und geben Sie die vollständige Adresse ein, nach der Sie navigieren möchten.

user3087315
quelle
3

Das Löschen von workspace / .metadata / .lock und das Starten von Eclipse mit -clean -refresh hat bei mir funktioniert.

Nicolas Robert-Dehault
quelle
2

Sie müssen den Ordner org.eclipse.e4.workbench in metadata.plugins \ löschen, den Sie in Ihrem Arbeitsbereichsordner finden. Das Löschen dieses Ordners hat das Problem für mich gelöst, hoffe es hilft jemand anderem!

Guillermo Zooby
quelle
0

Es gibt viele mögliche Gründe für diese Art von Verhalten. Neben der Ausführung an einer Shell-Eingabeaufforderung sollten Sie auch nach Hinweisen in Ihrer Arbeitsbereichsprotokolldatei suchen. Hierbei handelt es sich um die Datei .metadata / .log in Ihrem Arbeitsbereichsverzeichnis Verwenden Sie den Protokollierungscode selbst, aber das Protokoll kann weiterhin dazu beitragen, festzustellen, was vor dem Fehler vor sich ging.

Die Websuche nach Nachrichten, die Sie finden, liefert häufig Vorschläge zum Löschen verschiedener Verzeichnisse oder Dateien und zum erneuten Starten. Manchmal konnte ich jedoch nur Teile von .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml entfernen, um weniger zerstörerische Lösungen zu erhalten.

Michael Scheper
quelle
0

Das Problem beim Löschen von Dateien im Metadatenverzeichnis besteht darin, dass Sie Ihre Workbench von Grund auf neu starten müssen. Daher kann es eine Weile dauern, bis alle Ihre Projekte wiederhergestellt sind, insbesondere wenn Sie über mehrere Projekte verfügen. Das Wiederherstellen von Metadaten aus einer Sicherung durch Ersetzen der vorhandenen Dateien durch die alten gesicherten Dateien hat bei mir funktioniert.

lulan
quelle
0

Es kann auch hilfreich sein, den Arbeitsbereich mit einer neueren Eclipse-Version zu laden und zu speichern:

Ich benutze Eclipse 3.8. Beim Starten würde der Begrüßungsbildschirm hängen bleiben. Es gab keine Fehlermeldungen im Protokoll. Was half, war das Öffnen des Arbeitsbereichs mit Eclipse 4.2.2. Nach dem Öffnen und Schließen des Arbeitsbereichs konnte ich ihn mit 3.8 erneut laden.

e1i45
quelle
0

Nach einigen Nachforschungen über Dateidaten löste ich das gleiche Problem (das bei meinem Kepler zufällig auftritt), indem ich einfach die folgende Datei in meinem lokalen Arbeitsbereich löschte: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

mit vernachlässigbaren Auswirkungen auf die Wiederherstellung des Arbeitsbereichs.

Ich hoffe es kann jemand anderem helfen ...

rpaulin56
quelle
0

In Ihrem Arbeitsbereich finden Sie den Namen des versteckten Ordners .metadata, in dem Sie einen anderen versteckten Ordner ".mylyn" finden. Löschen Sie ihn und leeren Sie Ihren Papierkorb. Gehen Sie zum Task-Manager. Stoppen Sie den Eclipse-Prozess und starten Sie Eclipse erneut. Diesmal funktioniert es.

Genießen!

Faakhir
quelle
0

Hier ist eine weniger zerstörerische Methode, die bei mir funktioniert hat:

Ich bin auf einem Windows-Computer mit einer Kopie von Spring Tool Suite (einer Erweiterung von Eclipse), die ich aus einem zufälligen Verzeichnis ausführe. In meiner Eingabeaufforderung musste ich zu dem Verzeichnis navigieren, das meine enthielt, STS.exeund Folgendes ausführen : STS.exe -refresh.

Danach konnte ich meine Eclipse auf normale Weise öffnen (über ein angeheftetes Taskleistensymbol).

Xchai
quelle
0

Holen Sie sich eine Sicherungskopie des Ordners .metadata / .plugin / org.eclipse.core.resources, löschen Sie diesen Ordner und starten Sie Eclipse. Das sollte den Arbeitsbereich starten, aber alle Projekte werden gelöscht, da org.eclipse.core.resources eine Liste aller Projekte führt.

Schließen Sie anschließend Eclipse ordnungsgemäß und kopieren Sie org.eclipse.core.resources von der Sicherung in den Ordner .metadata / .plugins / zurück, wobei der vorhandene Ordner überschrieben wird.

Öffnen Sie Eclipse und die Dinge sollten mit all Ihren Projekten wieder normal funktionieren.

Rasoul
quelle
0

Eclipse friert beim Start ein - vor dem Laden des Arbeitsbereichs sehr gute Antwort auf diesen Beitrag. Wiederholen der Antwort, die für mich funktioniert hat

Führen Sie in Ihrem Arbeitsbereichsverzeichnis die folgenden Schritte aus:

cd .metadata / .plugins

mv org.eclipse.core.resources org.eclipse.core.resources.bak

Starten Sie Eclipse. (Es sollte eine Fehlermeldung oder ein leerer Arbeitsbereich angezeigt werden, da kein Projekt gefunden wurde.)

Schließen Sie alle geöffneten Editor-Registerkarten.

Beenden Sie Eclipse.

rm -rf org.eclipse.core.resources (Löscht das neu erstellte Verzeichnis.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Stellen Sie das ursprüngliche Verzeichnis wieder her.)

Starten Sie Eclipse und beginnen Sie zu arbeiten. :-)

Antwort von CharlesB

Aparna
quelle
-1

Keine der Lösungen half mir für meinen Fall.

Ich habe die funktionierende Lösung gefunden. Ich habe gelesen, dass dies passiert, wenn das ADT-Plugin in Eclipse nicht richtig aktualisiert wird.

Solution
From Eclipse. . .
1. Go to Help Tap
2. Click Check for Updates

Aktualisiere alles und whoa! Beim Starten von Eclipse nicht mehr einfrieren!

coolcool1994
quelle
-1

Ich habe das alles nicht ausprobiert. Ich habe per Laptop / Maschine neu gestartet. Und danach war alles wieder normal.

Puneet
quelle