Eclipse si blocca durante il caricamento del workbench


95

Il mio eclipse smette di caricare il workbench. Ho già provato a iniziare con ./eclipse --clean

Quando si avvia da console, genera la seguente eccezione:

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)

Si ferma durante il caricamento di com.android.ide.eclipse.adt

Cosa c'è di sbagliato nel mio banco da lavoro?

Schermata di avvio di Eclipse


1
Sembra che --cleannon faccia nulla mentre -clean(trattino singolo) sembra effettivamente avere un effetto (usando Eclipse Neon nel mio caso).
Christopher Schultz

Risposte:


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

Prova quanto segue:

  1. Elimina la cartella .metadata nel tuo spazio di lavoro locale (questo è ciò che ha funzionato per me). Sembra che contenga un file .LOCK che, se non chiuso correttamente, impedisce a eclipse di avviarsi correttamente. Su sistemi basati su Unix è possibile digitare quanto segue sulla riga di comando;

    rm -r workspace/.metadata
    
  2. Elimina la tua directory .eclipse nella tua directory home. Avvia eclipse. Se non funziona,

  3. Apri eclipse con un altro account utente. Se viene caricato, sai che il problema è con il tuo account, non con l'installazione di eclipse.


mi è successo dopo aver cliccato su File-> riavvia per errore.
nurnachman

68
Nella maggior parte dei casi, rm workspace/.metadata/.lockfunziona per me. Assicurati di avviare Eclipse usando ./eclipse -clean -refreshquello che provi. Grazie per averci insegnato mv .eclipse .eclipse.old, cosa che oggi non ha aiutato. Oggi ha aiutato a eliminare workspace/.metadata/.plugins/. Tutti i plugin hanno effettivamente funzionato dopo. Alcune impostazioni sono sparite. È quindi possibile utilizzare Import...per importare tutti i progetti esistenti contemporaneamente. L'eliminazione workspace/.metadataè l'ultima scelta, ma funziona. Puoi tenerlo workspace/.metadata/.mylynse non vuoi perdere i tuoi compiti.
sulai

Molte grazie per questo! Mi ha risparmiato un sacco di fatica quando Eclipse ha smesso di rispondere bruscamente .. Stackoverflow oscilla e così fa la comunità!
HungryForKnowledge

3
Basta eliminare il file .lock - non è necessario perdere tutte le impostazioni!
Slott

7
eliminazione .lock non mi ha aiutato, ma la cancellazione .metadata/.plugins/org.eclipse.core.resources/.snapha fatto
Serge

92

La procedura mostrata su http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/ ha funzionato per me:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Inizia l'eclissi. (Dovrebbe mostrare un messaggio di errore o un'area di lavoro vuota perché non viene trovato alcun progetto.)
  4. Chiudi tutte le schede degli editor aperti.
  5. Esci da Eclipse.
  6. rm -rf org.eclipse.core.resources (Elimina la directory appena creata.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Ripristina la directory originale.)
  8. Avvia Eclipse e inizia a lavorare. :-)

In altre risposte:

eclipse -clean -clearPersistedState

è menzionato - che sembra avere lo stesso effetto o addirittura migliore.

Ecco uno script per MacOS (utilizzando Macports) e Linux (testato su Ubuntu con Eclipse Equinox) per iniziare con un'uccisione opzionale dell'eclissi in esecuzione. Potresti voler adattare la sceneggiatura alle tue esigenze. Se aggiungi nuove piattaforme, modifica lo script direttamente in questa risposta.

#!/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&

1
Grazie! questo è un approccio migliore rispetto all'eliminazione dell'intera cartella .metadata. ha funzionato perfettamente
Jakob

1
Molto meglio. Aiuto su Kepler su Mac OS X Mavericks
Robert Sösemann

5
Questo "eclipse -clean -clearPersistedState" mi ha aiutato, grazie!
Michal

2
-clean -clearPersistedState ha funzionato per me in Aptana Studio 3 su win 7
Lorenz Haase

2
eclipse -clean -clearPersistedState ha lavorato in Kepler Win 7
Yitzchak

37
./eclipse -clean -refresh

come menzionato nel commento di sulai il 20 dicembre 12 alle 12:46, ha funzionato per me.

Tuttavia, su Mac OS X, dovevo capire come arrivare a ./eclipse

Ecco la soluzione:

cd Eclipse.app/Contents/MacOS/

Grazie per il commento di Andrew per questo post: https://stackoverflow.com/a/1783448/2162226


2
Ho dovuto prima aprire un nuovo spazio di lavoro (l'ho chiamato test) usando -clean -refresh. E quando Eclipse (nel mio caso era GGTS) ​​si è aperto, ho scelto File> Cambia spazio di lavoro e sono tornato all'area di lavoro che originariamente causava il problema di congelamento.
pm_labs

Su Eclipse Luna l'applicazione è in realtà solo il file, non c'è bisogno di cd nella cartella. Solo in esecuzione lo ha ./eclipse -clean -refreshrisolto per me
Sirene

20

La soluzione migliore che ho trovato è eliminare questo file: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench


2
In eclipse indigo. Prova rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere

1
Questo mi ha risolto il problema con TIBCO BusinessWorks Design Studio su Windows 7.
Alex Beynenson

sul mio MacBook pro 12 ", questa soluzione ha funzionato al meglio per me
ironmantis7x

12

non è necessario eliminare tutti i metadati. prova a eliminare il file .snap in org.eclipse.core.resources nella cartella dell'area di lavoro es.

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


L'eliminazione di questo file ha funzionato per me quasi ogni volta che Eclipse si blocca all'avvio. Grazie!
Joseph,

l'eliminazione del file .snap ha funzionato per me per Eclipse Mars - 4.5.1 (su Mac El Capitan)
hashcoder

Ha lavorato per me con JBoss Developer Studio 10
Thomas

11

Ho risolto l'eliminazione di * .snap dalla directory dello spazio di lavoro (e tutte le sottodirectory):

metadata \ .plugins \ *. snap


1
Questo mi ha salvato dalla perdita di tutte le mie impostazioni!
tprk77

8

Domanda piuttosto vecchia ma la risposta più semplice non è ancora stata pubblicata.
Eccolo:
1) In [workspace]\.metadata\.plugins\org.eclipse.e4.workbench cancella workbench.xmi file.
Nella maggior parte dei casi è sufficiente: prova a caricare Eclipse.
Devi comunque riconfigurare le tue impostazioni di prospettiva specifiche (se presenti)

2) Hai problemi con i progetti di costruzione che hanno funzionato perfettamente? In base alla mia esperienza, i seguenti passaggi aiutano:
- deseleziona Progetti-> Crea automaticamente
- passa alla prospettiva Java (se non ancora): Finestra -> Apri prospettiva -> Java
- individua la vista Problemi o aprila: Finestra -> Mostra vista -> Problemi
- fare clic con il pulsante destro del mouse sui gruppi di problemi e selezionare Elimina . Assicurati di eliminare gli errori Lint
- pulisci l'area di lavoro: Progetto -> Pulisci ... con l'opzione Pulisci tutti i progetti
- seleziona Progetti-> Crea automaticamente
- se i problemi persistono per alcuni progetti: fai clic con il pulsante destro del mouse sul progetto, seleziona Proprietà -> Androide assicurati che venga scelto il target di compilazione del progetto appropriato

3) Mi è sempre bastato. Ma se riscontri ancora problemi, prova i consigli di @george post


Grazie! Nient'altro ha funzionato tranne l'eliminazione di workbench.xmi
Simply Craig il

6

La seguente procedura ha funzionato sul mio MacOS (Mavericks) e Eclipse Luna 4.4.1:

Elimina il file .snap nel percorso "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Se non sai come navigare in questa cartella su Mac, premi Cmd + Maiusc + G (Vai alla cartella) e digita l'indirizzo completo che desideri cercare.



3

l'eliminazione dell'area di lavoro / .metadata / .lock e l'avvio di eclipse con -clean -refresh ha funzionato per me.


2

Devi eliminare la cartella org.eclipse.e4.workbench all'interno di metadata.plugins \ che puoi trovare nella cartella del tuo spazio di lavoro. L'eliminazione di questa cartella ha risolto il problema per me, spero che aiuti qualcun altro!



0

Ci sono molte possibili ragioni per questo tipo di comportamento. Oltre a eseguire da un prompt della shell come hai, vale la pena cercare indizi nel file di log del tuo spazio di lavoro, che è il file .metadata / .log nella directory del tuo spazio di lavoro: l'NPE che ti viene in mente sembra che potrebbe doverlo fare fare con il codice di registrazione stesso, ma il registro può comunque aiutare a determinare cosa stava succedendo prima dell'errore.

Le ricerche sul Web per i messaggi che trovi spesso forniscono suggerimenti per eliminare varie directory o file e ricominciare. A volte sono riuscito a rimuovere solo parti di .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml, tuttavia, per soluzioni meno distruttive.


0

Il problema con l'eliminazione dei file nella directory .metadata è che dovresti avviare il tuo workbench da zero. Quindi, potrebbe essere necessario un po 'di tempo per ripristinare tutti i tuoi progetti, soprattutto se ne hai un certo numero. Il ripristino di .metadata da un backup semplicemente sostituendo i file esistenti con quelli vecchi di cui è stato eseguito il backup ha funzionato per me.


0

Potrebbe anche essere utile provare a caricare e salvare l'area di lavoro con una versione più recente di eclipse:

Sto usando eclipse 3.8. All'avvio la schermata iniziale si bloccava. Non c'erano messaggi di errore nel registro. Ciò che ha aiutato è stato aprire l'area di lavoro con eclipse 4.2.2. Dopo aver aperto e chiuso l'area di lavoro sono stato in grado di caricarlo di nuovo con 3.8.


0

Dopo alcune indagini sulle date dei file, ho risolto lo stesso problema (che è un problema ricorrente in modo casuale sul mio Kepler) semplicemente eliminando il seguente file nel mio spazio di lavoro locale: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

con impatto trascurabile sul ripristino dell'area di lavoro.

Spero che possa aiutare qualcun altro ...


0

Nel tuo spazio di lavoro troverai la cartella nascosta nome .metadata in cui troverai un'altra cartella nascosta ".mylyn" cancellala e svuota il cestino vai al task manager interrompi il processo di Eclipse e riavvia Eclipse questa volta funzionerà.

Godere!


0

Ecco un metodo meno distruttivo che ha funzionato per me:

Sono su una macchina Windows con una copia di Spring Tool Suite (un'estensione di Eclipse) che sto eseguendo da una directory casuale. Nella mia linea del prompt dei comandi, ho dovuto passare alla directory che conteneva il mio STS.exeed eseguire: STS.exe -refresh.

Successivamente, ho potuto aprire il mio Eclipse nel modo normale (che era tramite un'icona sulla barra delle applicazioni bloccata).


0

Ottieni una copia di backup della cartella .metadata / .plugin / org.eclipse.core.resources, quindi elimina quella cartella e avvia eclipse. Questo dovrebbe avviare lo spazio di lavoro, ma tutti i progetti saranno eliminati poiché org.eclipse.core.resources mantiene un elenco di tutti i progetti.

Quindi, chiudi eclipse correttamente e copia nuovamente org.eclipse.core.resources dal backup nella cartella .metadata / .plugins / sovrascrivendo quella esistente.

Apri eclipse e le cose dovrebbero funzionare bene con tutti i tuoi progetti tornati alla normalità.


0

Eclipse che si blocca all'avvio: prima di caricare l'area di lavoro, ottima risposta su questo post. ripetendo la risposta che ha funzionato per me

Nella directory del tuo spazio di lavoro, esegui i seguenti passaggi:

cd .metadata / .plugins

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

Inizia l'eclissi. (Dovrebbe mostrare un messaggio di errore o un'area di lavoro vuota perché non viene trovato alcun progetto.)

Chiudi tutte le schede degli editor aperti.

Esci da Eclipse.

rm -rf org.eclipse.core.resources (Elimina la directory appena creata.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Ripristina la directory originale.)

Avvia Eclipse e inizia a lavorare. :-)

Risposta di CharlesB


-1

Nessuna delle soluzioni mi ha aiutato per il mio caso.

Tuttavia ho trovato la soluzione funzionante. Ho letto che questo accade quando il plugin ADT non viene aggiornato correttamente in Eclipse.

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

Aggiorna tutto e whoa! Non si blocca più all'avvio di Eclipse!


-1

Non ho provato tutti questi. Ho riavviato da laptop / macchina. E tutto è tornato alla normalità dopo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.