Eclipse se cuelga del banco de trabajo de carga

95

Mi eclipse deja de cargar el banco de trabajo. Ya intenté comenzar con ./eclipse --clean

Al comenzar desde la consola, lanza la siguiente excepción:

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)

Se detiene al cargar com.android.ide.eclipse.adt

¿Qué pasa con mi mesa de trabajo?

Pantalla de inicio de Eclipse

endian
fuente
1
Parece --cleanque no hace nada mientras que -clean(un solo guión) parece tener un efecto (usando Eclipse Neon en mi caso).
Christopher Schultz

Respuestas:

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

Intente lo siguiente:

  1. Elimine la carpeta .metadata en su espacio de trabajo local (esto es lo que funcionó para mí). Parece que contiene un archivo .LOCK que, si no se cierra correctamente, evita que eclipse se inicie correctamente. En sistemas basados ​​en Unix, puede escribir lo siguiente en la línea de comandos;

    rm -r workspace/.metadata
    
  2. Elimine su directorio .eclipse en su directorio de inicio. Lanzamiento de eclipse. Si eso no funciona,

  3. Abra eclipse con otra cuenta de usuario. Si se carga, sabrá que el problema está en su cuenta, no en su instalación de eclipse.

Jorge
fuente
Me pasó después de hacer clic en Archivo-> reiniciar por error.
nurnachman
68
En la mayoría de los casos, rm workspace/.metadata/.lockme funciona. Asegúrate de comenzar a eclipse usando ./eclipse -clean -refreshtodo lo que intentes. Gracias por enseñarnos mv .eclipse .eclipse.old, lo cual no ayudó hoy. Hoy ayudó a eliminar workspace/.metadata/.plugins/. Todos los complementos realmente funcionaron después de eso. Algunas configuraciones desaparecieron. Luego puede usar Import...para importar todos sus proyectos existentes a la vez. Eliminar workspace/.metadataes la última opción, pero funciona. Puedes quedarte workspace/.metadata/.mylynsi no quieres perder tus tareas.
sulai
¡Muchas gracias por esto! Me ahorró mucho esfuerzo cuando Eclipse dejó de responder abruptamente ... ¡Stackoverflow es genial y la comunidad también!
HungryForKnowledge
3
Simplemente elimine el archivo .lock, ¡no es necesario perder todas sus configuraciones!
slott
7
eliminar .lock no me ayudó, pero eliminarlo .metadata/.plugins/org.eclipse.core.resources/.snap
serge
92

El procedimiento que se muestra en http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/ funcionó para mí:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Inicie el eclipse. (Debería mostrar un mensaje de error o un espacio de trabajo vacío porque no se encuentra ningún proyecto).
  4. Cierre todas las pestañas de los editores abiertos.
  5. Salir del eclipse.
  6. rm -rf org.eclipse.core.resources (Elimina el directorio recién creado).
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaurar el directorio original).
  8. Inicie eclipse y comience a trabajar. :-)

En otras respuestas:

eclipse -clean -clearPersistedState

se menciona, lo que parece tener el mismo efecto o incluso mejor.

Aquí hay un script para MacOS (usando Macports) y Linux (probado en Ubuntu con Eclipse Equinox) para comenzar con una eliminación opcional del eclipse en ejecución. Es posible que desee adaptar el guión a sus necesidades. Si agrega nuevas plataformas, edite el script directamente en esta respuesta.

#!/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
fuente
1
¡Gracias! este es un mejor enfoque que simplemente eliminar toda la carpeta .metadata. funcionó perfectamente
Jakob
1
Mucho mejor. Ayudó en Kepler en Mac OS X Mavericks
Robert Sösemann
5
Este "eclipse -clean -clearPersistedState" me ayudó, ¡gracias!
Michal
2
-clean -clearPersistedState funcionó para mí en Aptana Studio 3 en la victoria 7
Lorenz Haase
2
eclipse -clean -clearPersistedState Trabajó en Kepler Win 7
Yitzchak
37
./eclipse -clean -refresh

como se menciona en el comentario de sulai el 20 de diciembre de 2012 a las 12:46, eso funcionó para mí.

Sin embargo, en Mac OS X, tuve que averiguar cómo llegar a ./eclipse

Esta es la solucion:

cd Eclipse.app/Contents/MacOS/

Gracias por el comentario de Andrew para esta publicación: https://stackoverflow.com/a/1783448/2162226

Gene Bo
fuente
2
Primero tuve que abrir un nuevo espacio de trabajo (lo llamé prueba) usando -clean -refresh. Y cuando Eclipse (en mi caso era GGTS) ​​se abrió, elegí Archivo> Cambiar espacio de trabajo y volví al espacio de trabajo que originalmente causó el problema de congelación.
pm_labs
En Eclipse Luna, la aplicación es en realidad solo el archivo, no es necesario guardar el CD en la carpeta. Simplemente corriendo lo ./eclipse -clean -refresharregló para mí
Sirens
20

La mejor solución que encontré es eliminar este archivo: espacio de trabajo / .metadata / .plugins / org.eclipse.e4.workbench / workbench

usuario1252459
fuente
2
En eclipse índigo. Pruebe rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere
1
Esto me
solucionó
en mi MacBook pro 12 ", esta solución me funcionó mejor
ironmantis7x
12

no es necesario eliminar todos los metadatos. simplemente intente eliminar el archivo .snap en org.eclipse.core.resources en la carpeta de su espacio de trabajo, ej.

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

usuario742102
fuente
Eliminar este archivo me ha funcionado casi cada vez que Eclipse se cuelga al iniciarse. ¡Gracias!
Joseph
eliminar el archivo .snap funcionó para mí para Eclipse Mars - 4.5.1 (en Mac El Capitan)
hashcoder
Trabajó para mí con JBoss Developer Studio 10
Thomas
11

Resolví eliminar * .snap del directorio del espacio de trabajo (y todos los subdirectorios):

metadatos \ .plugins \ *. snap

lujop
fuente
1
¡Esto me salvó de perder todas mis configuraciones!
tprk77
8

Pregunta bastante antigua, pero la respuesta más simple aún no se ha publicado.
Aquí está:
1) En el archivo de [workspace]\.metadata\.plugins\org.eclipse.e4.workbench eliminación workbench.xmi .
En la mayoría de los casos es suficiente: intente cargar Eclipse.
Aún así, debe volver a configurar sus ajustes de perspectiva específicos (si corresponde)

2) ¿ Ahora tiene problemas con los proyectos de construcción que funcionaron perfectamente? Según mi experiencia, los siguientes pasos ayudan:
- desmarque Proyectos-> Construir automáticamente
- cambie a la perspectiva de Java (si aún no lo está): Ventana -> Abrir perspectiva -> Java
- busque la vista Problemas o ábrala: Ventana -> Mostrar vista -> Problemas
- haga clic con el botón derecho en los grupos de problemas y seleccione Eliminar . Asegúrese de eliminar los errores de Lint
- limpie el espacio de trabajo: Proyecto -> Limpiar ... con la opción Limpiar todos los proyectos
- marque Proyectos-> Construir automáticamente
- si los problemas persisten para algunos proyectos: haga clic con el botón derecho en el proyecto, seleccione Propiedades -> Androidy asegúrese de que se elija el objetivo de construcción del proyecto adecuado

3) Siempre fue suficiente para mí. Pero si sigues teniendo problemas, prueba las recomendaciones de publicaciones de @george

sberezin
fuente
¡Gracias! Nada más funcionó excepto eliminar workbench.xmi
Simply Craig
6

El siguiente procedimiento funcionó en mi MacOS (Mavericks) y Eclipse Luna 4.4.1:

Elimine el archivo .snap en la ruta "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Si no sabe cómo navegar a esta carpeta en Mac, presione Cmd + Shift + G (Ir a la carpeta) y escriba la dirección completa por la que desea navegar.

usuario3087315
fuente
3

eliminar el espacio de trabajo / .metadata / .lock y comenzar eclipse con -clean -refresh funcionó para mí.

Nicolas Robert-Dehault
fuente
2

Debe eliminar la carpeta org.eclipse.e4.workbench dentro de metadata.plugins \ que puede encontrar en la carpeta de su espacio de trabajo. Eliminar esta carpeta me solucionó el problema, ¡espero que ayude a alguien más!

Guillermo Zooby
fuente
0

Hay muchas razones posibles para este tipo de comportamiento. Además de ejecutar desde un indicador de shell como lo ha hecho, vale la pena buscar pistas en el archivo de registro de su espacio de trabajo, que es el archivo .metadata / .log en el directorio de su espacio de trabajo; el NPE que se le presentará parece que debería hacer con el código de registro en sí, pero el registro aún puede ayudar a determinar qué estaba sucediendo antes del error.

Las búsquedas web de los mensajes que encuentra a menudo ofrecen sugerencias para eliminar varios directorios o archivos y comenzar de nuevo. Sin embargo, a veces he podido eliminar partes de .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml para obtener soluciones menos destructivas.

Michael Scheper
fuente
0

El problema con la eliminación de archivos en el directorio .metadata es que tendría que iniciar su banco de trabajo desde cero. Por lo tanto, puede llevar un tiempo restaurar todos sus proyectos, especialmente si tiene varios. Restaurar .metadata desde una copia de seguridad simplemente reemplazando los archivos existentes con los antiguos respaldados funcionó para mí.

lulan
fuente
0

También podría ser útil intentar cargar y guardar el espacio de trabajo con una versión más reciente de eclipse:

Estoy usando eclipse 3.8. Al iniciar, la pantalla de bienvenida se colgaba. No hubo mensajes de error en el registro. Lo que ayudó fue abrir el espacio de trabajo con eclipse 4.2.2. Después de abrir y cerrar el espacio de trabajo, pude volver a cargarlo con 3.8.

e1i45
fuente
0

Después de investigar un poco sobre las fechas de los archivos, resolví el mismo problema (que es un problema recurrente aleatorio en mi Kepler) simplemente eliminando el siguiente archivo en mi espacio de trabajo local: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

con un impacto insignificante en la restauración del espacio de trabajo.

Espero que pueda ayudar a alguien más ...

rpaulin56
fuente
0

En su espacio de trabajo encontrará el nombre de la carpeta oculta .metadata en la que encontrará otra carpeta oculta ".mylyn" elimínela y vacíe su papelera, vaya al administrador de tareas, detenga el proceso de Eclipse y comience de nuevo Eclipse, esta vez funcionará.

¡Disfrutar!

Faajir
fuente
0

Aquí hay un método menos destructivo que funcionó para mí:

Estoy en una máquina con Windows con una copia de Spring Tool Suite (una extensión de Eclipse) que estoy ejecutando desde un directorio aleatorio. En mi línea de comandos del sistema, que tenía que desplazarse al directorio que contenía mi STS.exey ejecute: STS.exe -refresh.

Después de eso, pude abrir mi Eclipse de la manera normal (que era a través de un ícono de la barra de tareas anclado).

Xchai
fuente
0

Obtenga una copia de seguridad de la carpeta .metadata / .plugin / org.eclipse.core.resources, luego elimine esa carpeta y ejecute eclipse. Eso debería iniciar el espacio de trabajo, pero todos los proyectos desaparecerán ya que org.eclipse.core.resources mantiene una lista de todos los proyectos.

A continuación, cierre eclipse correctamente y vuelva a copiar org.eclipse.core.resources de la copia de seguridad a la carpeta .metadata / .plugins / anulando la existente.

Abra eclipse y todo debería funcionar bien con todos sus proyectos de vuelta a la normalidad.

Rasoul
fuente
0

Eclipse se congela al inicio: antes de cargar el espacio de trabajo, muy buena respuesta en esta publicación. repitiendo la respuesta que funcionó para mí

En el directorio de su espacio de trabajo, realice los siguientes pasos:

cd .metadata / .plugins

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

Inicie el eclipse. (Debería mostrar un mensaje de error o un espacio de trabajo vacío porque no se encuentra ningún proyecto).

Cierre todas las pestañas de los editores abiertos.

Salir del eclipse.

rm -rf org.eclipse.core.resources (Elimina el directorio recién creado).

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaurar el directorio original).

Inicie eclipse y comience a trabajar. :-)

Respuesta de CharlesB

Aparna
fuente
-1

Ninguna solución me ayudó en mi caso.

Sin embargo, encontré la solución de trabajo. Leí que esto sucede cuando el complemento ADT no se actualiza correctamente en Eclipse.

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

Actualiza todo y ¡guau! ¡Ya no se congela al iniciar Eclipse!

coolcool1994
fuente
-1

No probé todos estos. Reinicié por computadora portátil / máquina. Y todo volvió a la normalidad después de eso.

Puneet
fuente