Eclipse se bloque sur l'établi de chargement

95

Mon éclipse arrête le chargement de Workbench. J'ai déjà essayé en commençant par ./eclipse --clean

Au démarrage de la console, il lève l'exception suivante:

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)

Il s'arrête lors du chargement de com.android.ide.eclipse.adt

Quel est le problème avec mon établi?

Écran de démarrage Eclipse

endian
la source
1
Il semble --cleanne rien faire alors que -clean(un seul trait d'union) semble avoir un effet (en utilisant Eclipse Neon dans mon cas).
Christopher Schultz

Réponses:

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

Essayez ce qui suit:

  1. Supprimez le dossier .metadata dans votre espace de travail local (c'est ce qui a fonctionné pour moi). Il semble qu'il contienne un fichier .LOCK qui, s'il n'est pas correctement fermé, empêche l'éclipse de démarrer correctement. Sur les systèmes basés sur Unix, vous pouvez taper ce qui suit sur la ligne de commande;

    rm -r workspace/.metadata
    
  2. Supprimez votre répertoire .eclipse dans votre répertoire personnel. Lancez eclipse. Si cela ne fonctionne pas,

  3. Ouvrez eclipse sous un autre compte utilisateur. S'il se charge, vous savez que le problème vient de votre compte, pas de votre installation eclipse.

George
la source
cela m'est arrivé après avoir cliqué sur Fichier-> redémarrer par erreur.
nurnachman
68
Dans la plupart des cas, rm workspace/.metadata/.lockça marche pour moi. Assurez-vous de démarrer l'éclipse en utilisant ./eclipse -clean -refreshtout ce que vous essayez. Merci de nous avoir appris mv .eclipse .eclipse.old, ce qui n'a pas aidé aujourd'hui. Aujourd'hui, il a aidé à supprimer workspace/.metadata/.plugins/. Tous les plugins ont effectivement fonctionné après cela. Certains paramètres ont disparu. Vous pouvez ensuite utiliser Import...pour importer tous vos projets existants à la fois. La suppression workspace/.metadataest le dernier choix, mais fonctionne. Vous pouvez garder workspace/.metadata/.mylynsi vous ne voulez pas perdre vos tâches.
sulai
Merci beaucoup pour cela! M'a épargné beaucoup d'efforts quand Eclipse a cessé de répondre brusquement ... Stackoverflow bascule et la communauté aussi!
HungryForKnowledge
3
Supprimez simplement le fichier .lock - pas besoin de perdre tous vos paramètres!
slott
7
la suppression de .lock ne m'a pas aidé mais la suppression l'a .metadata/.plugins/org.eclipse.core.resources/.snapfait
serge
92

La procédure indiquée sur http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/ a fonctionné pour moi:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Commencez l'éclipse. (Il doit afficher un message d'erreur ou un espace de travail vide car aucun projet n'est trouvé.)
  4. Fermez tous les onglets des éditeurs ouverts.
  5. Sortez de l'éclipse.
  6. rm -rf org.eclipse.core.resources (Supprime le répertoire nouvellement créé.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaurez le répertoire d'origine.)
  8. Démarrez Eclipse et commencez à travailler. :-)

Dans d'autres réponses:

eclipse -clean -clearPersistedState

est mentionné - ce qui semble avoir le même effet, voire meilleur.

Voici un script pour MacOS (utilisant Macports) et Linux (testé sur Ubuntu avec Eclipse Equinox) pour faire le début avec un kill facultatif de l'éclipse en cours. Vous souhaiterez peut-être adapter le script à vos besoins. Si vous ajoutez de nouvelles plates-formes, veuillez modifier le script directement dans cette réponse.

#!/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
la source
1
Merci! c'est une meilleure approche que de simplement supprimer tout le dossier .metadata. cela a parfaitement fonctionné
Jakob
1
Bien mieux. Aide sur Kepler sur Mac OS X Mavericks
Robert Sösemann
5
Cette "eclipse -clean -clearPersistedState" m'a aidé, merci!
Michal
2
-clean -clearPersistedState a travaillé pour moi dans Aptana Studio 3 sur la victoire 7
Lorenz Haase
2
eclipse -clean -clearPersistedState a travaillé dans Kepler Win 7
Yitzchak
37
./eclipse -clean -refresh

comme mentionné dans le commentaire de sulai le 20 décembre 12 à 12:46, cela a fonctionné pour moi.

Cependant, sur Mac OS X, j'ai dû trouver comment accéder à ./eclipse

Voici la solution:

cd Eclipse.app/Contents/MacOS/

Merci le commentaire d'Andrew pour ce post: https://stackoverflow.com/a/1783448/2162226

Gene Bo
la source
2
J'ai d'abord dû ouvrir un nouvel espace de travail (je l'ai nommé test) en utilisant -clean -refresh. Et quand Eclipse (dans mon cas, c'était GGTS) ​​s'est ouvert, j'ai choisi Fichier> Changer d'espace de travail et je suis retourné à l'espace de travail qui causait à l'origine le problème de gel.
pm_labs
Sur Eclipse Luna, l'application n'est en fait que le fichier, pas besoin de cd dans le dossier. Je l' ./eclipse -clean -refreshai corrigé pour moi
Sirens
20

La meilleure solution que j'ai trouvée est de supprimer ce fichier: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench

user1252459
la source
2
En indigo éclipse. Essayez rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere
1
Cela a résolu ce problème pour moi avec TIBCO BusinessWorks Design Studio sur Windows 7.
Alex Beynenson
sur mon MacBook pro 12 ", cette solution a fonctionné pour moi le mieux
ironmantis7x
12

pas besoin de supprimer toutes les métadonnées. essayez simplement de supprimer le fichier .snap sous org.eclipse.core.resources dans votre dossier d'espace de travail ex.

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

user742102
la source
La suppression de ce fichier a fonctionné pour moi presque chaque fois qu'Eclipse se bloque au démarrage. Merci!
Joseph
la suppression du fichier .snap a fonctionné pour moi pour Eclipse Mars - 4.5.1 (sur Mac El Capitan)
hashcoder
A travaillé pour moi avec JBoss Developer Studio 10
Thomas
11

J'ai résolu la suppression de * .snap du répertoire de l'espace de travail (et de tous les sous-répertoires):

métadonnées \ .plugins \ *. snap

lujop
la source
1
Cela m'a évité de perdre tous mes paramètres!
tprk77 le
8

Question assez ancienne mais la réponse la plus simple n'est pas encore publiée.
Le voici:
1) Dans le fichier de [workspace]\.metadata\.plugins\org.eclipse.e4.workbench suppression workbench.xmi .
Dans la plupart des cas, cela suffit - essayez de charger Eclipse.
Vous devez toujours reconfigurer vos paramètres de perspective spécifiques (le cas échéant)

2) Vous rencontrez maintenant des problèmes avec des projets de construction qui ont parfaitement fonctionné? D'après mon expérience, les étapes suivantes aident:
- décochez Projets-> Construire automatiquement
- basculer vers la perspective Java (si ce n'est pas encore le cas): Fenêtre -> Ouvrir la perspective -> Java
- localiser la vue Problèmes ou l'ouvrir: Fenêtre -> Afficher la vue -> Problèmes
- cliquez avec le bouton droit sur les groupes de problèmes et sélectionnez Supprimer . Assurez-vous de supprimer les erreurs Lint
- nettoyez l'espace de travail: Projet -> Nettoyer ... avec l'option Nettoyer tous les projets
- cochez Projets-> Construire automatiquement
- si les problèmes persistent pour certains projets: cliquez avec le bouton droit sur le projet, sélectionnez Propriétés -> Androidet assurez-vous que l' objectif de construction du projet approprié est choisi

3) C'était toujours suffisant pour moi. Mais si vous rencontrez toujours des problèmes, essayez les recommandations de @george post

sberezin
la source
Je vous remercie! Rien d'autre n'a fonctionné que la suppression de workbench.xmi
Simply Craig
6

La procédure suivante a fonctionné sur mon MacOS (Mavericks) et Eclipse Luna 4.4.1:

Supprimez le fichier .snap sous le chemin "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Si vous ne savez pas comment accéder à ce dossier sur Mac, appuyez sur Cmd + Maj + G (Aller au dossier) et saisissez l'adresse complète pour laquelle vous souhaitez naviguer.

utilisateur3087315
la source
3

la suppression de l'espace de travail / .metadata / .lock et le démarrage de l'éclipse avec -clean -refresh a fonctionné pour moi.

Nicolas Robert-Dehault
la source
2

Vous devez supprimer le dossier org.eclipse.e4.workbench dans metadata.plugins \ que vous pouvez trouver dans le dossier de votre espace de travail. La suppression de ce dossier a résolu le problème pour moi, j'espère que cela aidera quelqu'un d'autre!

Guillermo Zooby
la source
0

Il existe de nombreuses raisons possibles à ce type de comportement. En plus de fonctionner à partir d'une invite de shell comme vous l'avez fait, il vaut la peine de rechercher des indices dans le fichier journal de votre espace de travail, qui est le fichier .metadata / .log sous votre répertoire d'espace de travail - le NPE qui vous attend semble devoir faites avec le code de journalisation lui-même, mais le journal peut toujours aider à déterminer ce qui se passait avant l'erreur.

Les recherches sur le Web pour les messages que vous trouvez donnent souvent des suggestions pour supprimer divers répertoires ou fichiers et recommencer. J'ai parfois pu simplement supprimer des parties de .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml, cependant, pour des solutions moins destructrices.

Michael Scheper
la source
0

Le problème avec la suppression de fichiers dans le répertoire .metadata est que vous devez démarrer votre atelier à partir de zéro. Ainsi, la restauration de tous vos projets peut prendre un certain temps, surtout si vous en avez plusieurs. La restauration de .metadata à partir d'une sauvegarde simplement en remplaçant les fichiers existants par les anciens sauvegardés a fonctionné pour moi.

lulan
la source
0

Il peut également être utile d'essayer de charger et d'enregistrer l'espace de travail avec une version plus récente d'Eclipse:

J'utilise eclipse 3.8. Lors du démarrage, l'écran de démarrage se bloque. Il n'y avait aucun message d'erreur dans le journal. Ce qui a aidé, c'est d'ouvrir l'espace de travail avec eclipse 4.2.2. Après avoir ouvert et fermé l'espace de travail, j'ai pu le charger à nouveau avec 3.8.

e1i45
la source
0

Après quelques recherches sur les dates des fichiers, j'ai résolu le même problème (qui est un problème récurrent au hasard sur mon Kepler) en supprimant simplement le fichier suivant dans mon espace de travail local: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

avec un impact négligeable sur la restauration de l'espace de travail.

J'espère que cela peut aider quelqu'un d'autre ...

rpaulin56
la source
0

Dans votre espace de travail, vous trouverez le nom du dossier caché .metadata dans lequel vous trouverez un autre dossier caché ".mylyn", supprimez-le et videz votre corbeille aller au gestionnaire de tâches arrêter le processus d'Eclipse et redémarrer Eclipse cette fois cela fonctionnera.

Prendre plaisir!

Faakhir
la source
0

Voici une méthode moins destructrice qui a fonctionné pour moi:

Je suis sur une machine Windows avec une copie de Spring Tool Suite (une extension d'Eclipse) que j'exécute à partir d'un répertoire aléatoire. Dans ma ligne de commande rapide, je devais naviguer dans le répertoire qui contenait mon STS.exeet exécutez: STS.exe -refresh.

Après cela, j'ai pu ouvrir mon Eclipse de la manière normale (qui était via une icône de barre des tâches épinglée).

Xchai
la source
0

Obtenez une copie de sauvegarde du dossier .metadata / .plugin / org.eclipse.core.resources, puis supprimez ce dossier et lancez eclipse. Cela devrait lancer l'espace de travail, mais tous les projets auront disparu car org.eclipse.core.resources conserve une liste de tous les projets.

Ensuite, fermez correctement eclipse et recopiez org.eclipse.core.resources de la sauvegarde vers le dossier .metadata / .plugins / en remplaçant celui existant.

Ouvrez éclipse et les choses devraient bien fonctionner avec tous vos projets de retour à la normale.

Rasoul
la source
0

Eclipse gel au démarrage - avant de charger l'espace de travail, très bonne réponse sur ce post. répéter la réponse qui a fonctionné pour moi

Dans le répertoire de votre espace de travail, procédez comme suit:

cd .metadata / .plugins

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

Commencez l'éclipse. (Il doit afficher un message d'erreur ou un espace de travail vide car aucun projet n'est trouvé.)

Fermez tous les onglets des éditeurs ouverts.

Sortez de l'éclipse.

rm -rf org.eclipse.core.resources (Supprime le répertoire nouvellement créé.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaurez le répertoire d'origine.)

Démarrez Eclipse et commencez à travailler. :-)

Réponse de CharlesB

Aparna
la source
-1

Aucune des solutions ne m'a aidé pour mon cas.

J'ai cependant trouvé la solution de travail. J'ai lu que cela se produit lorsque le plugin ADT n'est pas mis à jour correctement dans Eclipse.

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

Tout mettre à jour et whoa! Ne gèle plus au démarrage d'Eclipse!

coolcool1994
la source
-1

Je n'ai pas essayé tout cela. J'ai redémarré par ordinateur portable / machine. Et tout était revenu à la normale après cela.

Puneet
la source