Eclipse trava no carregamento da bancada

95

Meu eclipse para de carregar o workbench. Já tentei começar com ./eclipse --clean

Ao iniciar no console, ele lança a seguinte exceção:

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)

Ele para ao carregar com.android.ide.eclipse.adt

O que há de errado com minha bancada de trabalho?

Tela de inicialização do Eclipse

endian
fonte
1
Parece que --cleannão faz nada enquanto -clean(hífen único) parece realmente ter um efeito (usando Eclipse Neon no meu caso).
Christopher Schultz

Respostas:

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

Experimente o seguinte:

  1. Exclua a pasta .metadata em seu espaço de trabalho local (isso é o que funcionou para mim). Parece que ele contém um arquivo .LOCK que, se não for fechado corretamente, impede que o eclipse inicie corretamente. Em sistemas baseados em Unix, você pode digitar o seguinte na linha de comando;

    rm -r workspace/.metadata
    
  2. Exclua seu diretório .eclipse em seu diretório inicial. Lance o eclipse. Se isso não funcionar,

  3. Abra o eclipse com outra conta de usuário. Se carregar, você sabe que o problema é com sua conta, não com a instalação do Eclipse.

George
fonte
aconteceu comigo depois que cliquei em Arquivo-> reiniciar por engano.
nurnachman
68
Na maioria dos casos, rm workspace/.metadata/.lockfunciona para mim. Certifique-se de iniciar o eclipse usando o ./eclipse -clean -refreshque você tentar. Obrigado por nos ensinar mv .eclipse .eclipse.old, o que não ajudou hoje. Hoje ajudou a deletar workspace/.metadata/.plugins/. Todos os plug-ins realmente funcionaram depois disso. Algumas configurações sumiram. Você pode usar Import...para importar todos os seus projetos existentes de uma vez. Excluir workspace/.metadataé a última escolha, mas funciona. Você pode ficar workspace/.metadata/.mylynse não quiser perder suas tarefas.
sulai de
Muito obrigado por isso! Me poupou muito esforço quando o Eclipse parou de responder abruptamente ... O Stackoverflow balança e a comunidade também!
HungryForKnowledge
3
Simplesmente exclua o arquivo .lock - não há necessidade de perder todas as suas configurações!
Slott
7
deletar .lock não me ajudou, mas deletar .metadata/.plugins/org.eclipse.core.resources/.snapsim
serge
92

O procedimento mostrado em http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/ funcionou para mim:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Comece o eclipse. (Deve mostrar uma mensagem de erro ou um espaço de trabalho vazio porque nenhum projeto foi encontrado.)
  4. Feche todas as guias abertas dos editores.
  5. Saia do eclipse.
  6. rm -rf org.eclipse.core.resources (Exclua o diretório recém-criado.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaure o diretório original.)
  8. Inicie o eclipse e comece a trabalhar. :-)

Em outras respostas:

eclipse -clean -clearPersistedState

é mencionado - o que parece ter o mesmo ou até melhor efeito.

Aqui está um script para MacOS (usando Macports) e Linux (testado no Ubuntu com Eclipse Equinox) para fazer o início com uma eliminação opcional do eclipse em execução. Você pode querer adaptar o script às suas necessidades. Se você adicionar novas plataformas, edite o script certo nesta resposta.

#!/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
fonte
1
obrigado! essa é uma abordagem melhor do que excluir toda a pasta .metadata. funcionou perfeitamente
Jakob
1
Muito melhor. Ajudou no Kepler no Mac OS X Mavericks
Robert Sösemann
5
Este "eclipse -clean -clearPersistedState" me ajudou, obrigado!
Michal
2
-clean -clearPersistedState funcionou para mim no Aptana Studio 3 na vitória 7
Lorenz Haase
2
eclipse -clean -clearPersistedState Funcionou no Kepler Win 7
Yitzchak
37
./eclipse -clean -refresh

conforme mencionado no comentário de sulai de 20 de dezembro de '12 às 12:46, que funcionou para mim.

No entanto, no Mac OS X, tive que descobrir como chegar a ./eclipse

Aqui está a solução:

cd Eclipse.app/Contents/MacOS/

Obrigado pelo comentário de Andrew para esta postagem: https://stackoverflow.com/a/1783448/2162226

Gene Bo
fonte
2
Tive que abrir um novo espaço de trabalho primeiro (chamei-o de teste) usando -clean -refresh. E quando o Eclipse (no meu caso foi GGTS) ​​foi aberto, eu escolhi Arquivo> Alternar Espaço de Trabalho e voltei para o espaço de trabalho que originalmente causou o problema de congelamento.
pm_labs
No Eclipse Luna, o aplicativo é, na verdade, apenas o arquivo, sem necessidade de cd para a pasta. Apenas executando o ./eclipse -clean -refreshconsertou para mim
Sirens
20

A melhor solução que encontrei é excluir este arquivo: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench

user1252459
fonte
2
Em eclipse índigo. Experimente rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere
1
Isso resolveu esse problema para mim com o TIBCO BusinessWorks Design Studio no Windows 7.
Alex Beynenson
no meu MacBook pro 12 ", essa solução funcionou melhor para mim
ironmantis7x
12

não há necessidade de excluir todos os metadados. apenas tente excluir o arquivo .snap em org.eclipse.core.resources na pasta do espaço de trabalho, por exemplo.

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

user742102
fonte
Excluir este arquivo funcionou para mim quase todas as vezes que o Eclipse trava na inicialização. Obrigado!
Joseph de
excluir o arquivo .snap funcionou para mim no Eclipse Mars - 4.5.1 (no Mac El Capitan)
hashcoder
Trabalhou para mim com o JBoss Developer Studio 10
Thomas
11

Resolvi excluir * .snap do diretório do espaço de trabalho (e de todos os subdiretórios):

metadata \ .plugins \ *. snap

lujop
fonte
1
Isso me salvou de perder todas as minhas configurações!
tprk77
8

Uma pergunta bem antiga, mas a resposta mais simples ainda não foi postada.
Aqui está:
1) No arquivo de [workspace]\.metadata\.plugins\org.eclipse.e4.workbench exclusão workbench.xmi .
Na maioria dos casos, é o suficiente - tente carregar o Eclipse.
Ainda assim, você terá que reconfigurar suas configurações de perspectiva específicas (se houver)

2) Agora está tendo problemas com projetos de construção que funcionaram perfeitamente? Pela minha experiência, as etapas a seguir ajudam:
- desmarque Projetos-> Construir automaticamente
- mude para a perspectiva Java (se ainda não): Janela -> Abrir perspectiva -> Java
- localize a visualização Problemas ou abra-a: Janela -> Mostrar visualização -> Problemas
- clique com o botão direito nos grupos de problemas e selecione Excluir . Certifique-se de excluir os erros do Lint
- limpe o espaço de trabalho: Projeto -> Limpar ... com a opção Limpar todos os projetos
- marque Projetos-> Compilar automaticamente
- se os problemas persistirem para alguns projetos: clique com o botão direito do mouse no projeto, selecione Propriedades -> Androide certifique-se de que o destino de construção do projeto apropriado seja escolhido

3) Sempre foi suficiente para mim. Mas se você ainda tiver problemas - tente postar recomendações @george

Sberezin
fonte
Obrigado! Nada mais funcionou a não ser excluir workbench.xmi
Simply Craig
6

O procedimento a seguir funcionou em meu MacOS (Mavericks) e Eclipse Luna 4.4.1:

Exclua o arquivo .snap no caminho "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Se você não sabe como navegar para esta pasta no Mac, pressione Cmd + Shift + G (ir para a pasta) e digite o endereço completo para o qual deseja navegar.

user3087315
fonte
3

deletar o workspace / .metadata / .lock e iniciar o eclipse com -clean -refresh funcionou para mim.

Nicolas Robert-Dehault
fonte
2

Você deve excluir a pasta org.eclipse.e4.workbench dentro de metadata.plugins \ que pode ser encontrada na pasta do espaço de trabalho. Excluir esta pasta resolveu o problema para mim, espero que ajude alguém!

Guillermo Zooby
fonte
0

Existem muitas razões possíveis para este tipo de comportamento. Além de executar a partir de um prompt de shell como você fez, vale a pena procurar por pistas no arquivo de log do seu espaço de trabalho, que é o arquivo .metadata / .log no diretório do seu espaço de trabalho - o NPE que está surgindo para você parece que precisa fazer com o próprio código de log, mas o log ainda pode ajudar a determinar o que estava acontecendo antes do erro.

As pesquisas na Web por mensagens que você encontra geralmente fornecem sugestões para excluir vários diretórios ou arquivos e começar novamente. Às vezes, consigo apenas remover partes de .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml, no entanto, para obter soluções menos destrutivas.

Michael Scheper
fonte
0

O problema com a exclusão de arquivos no diretório .metadata é que você teria que iniciar seu ambiente de trabalho do zero. Portanto, pode demorar um pouco para restaurar todos os seus projetos, especialmente se você tiver vários deles. Restaurar .metadados de um backup apenas substituindo os arquivos existentes pelos antigos com backup funcionou para mim.

lulan
fonte
0

Também pode ajudar tentar carregar e salvar o espaço de trabalho com uma versão mais recente do eclipse:

Estou usando o eclipse 3.8. Ao iniciar, a tela inicial travava. Não havia mensagens de erro no log. O que ajudou foi abrir o espaço de trabalho com o eclipse 4.2.2. Depois de abrir e fechar o espaço de trabalho, consegui carregá-lo novamente com o 3.8.

e1i45
fonte
0

Após alguma investigação sobre as datas dos arquivos, resolvi o mesmo problema (que é um problema aleatório recorrente no meu Kepler) simplesmente excluindo o seguinte arquivo em meu espaço de trabalho local: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

com impacto insignificante na restauração do espaço de trabalho.

Espero que possa ajudar alguém ...

rpaulin56
fonte
0

Em sua área de trabalho, você encontrará o nome da pasta oculta .metadata, na qual encontrará outra pasta oculta ".mylyn", exclua-a e esvazie a lixeira, vá para o gerenciador de tarefas, pare o processo do Eclipse e inicie novamente o Eclipse, desta vez ele funcionará.

Aproveitar!

Faakhir
fonte
0

Aqui está um método menos destrutivo que funcionou para mim:

Estou em uma máquina Windows com uma cópia do Spring Tool Suite (uma extensão do Eclipse) que estou executando em um diretório aleatório. Em meu prompt de linha de comando, tive que navegar até o diretório que continha meu STS.exee executar:STS.exe -refresh .

Depois disso, eu poderia abrir meu Eclipse da maneira normal (que era por meio de um ícone da barra de tarefas fixado).

Xchai
fonte
0

Obtenha uma cópia de backup da pasta .metadata / .plugin / org.eclipse.core.resources, em seguida, exclua essa pasta e ative o eclipse. Isso deve iniciar a área de trabalho, mas todos os projetos serão perdidos, pois org.eclipse.core.resources mantém uma lista de todos os projetos.

Em seguida, feche o eclipse corretamente e copie org.eclipse.core.resources de backup para a pasta .metadata / .plugins / substituindo a existente.

Eclipse aberto e tudo deve funcionar bem com todos os seus projetos de volta ao normal.

Rasoul
fonte
0

Eclipse congelando na inicialização - antes de carregar o espaço de trabalho uma resposta muito boa neste post. repetindo a resposta que funcionou para mim

No diretório do seu espaço de trabalho, execute as seguintes etapas:

cd .metadata / .plugins

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

Comece o eclipse. (Deve mostrar uma mensagem de erro ou um espaço de trabalho vazio porque nenhum projeto foi encontrado.)

Feche todas as guias abertas dos editores.

Saia do eclipse.

rm -rf org.eclipse.core.resources (Exclua o diretório recém-criado.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Restaure o diretório original.)

Inicie o eclipse e comece a trabalhar. :-)

Resposta de CharlesB

Aparna
fonte
-1

Nenhuma das soluções me ajudou no meu caso.

Eu encontrei a solução de trabalho embora. Eu li que isso acontece quando o plugin ADT não é atualizado corretamente no Eclipse.

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

Atualize tudo e uau! Não congela mais ao iniciar o Eclipse!

coolcool1994
fonte
-1

Eu não tentei tudo isso. Reiniciei pelo laptop / máquina. E tudo voltou ao normal depois disso.

Puneet
fonte