워크 벤치를로드 할 때 Eclipse가 정지됨


95

내 이클립스는 워크 벤치 로딩을 멈 춥니 다. 이미 ./eclipse --clean으로 시작해 보았습니다.

콘솔에서 시작할 때 다음 예외가 발생합니다.

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)

com.android.ide.eclipse.adt를로드 할 때 중지됩니다.

내 작업대에 무슨 문제가 있습니까?

Eclipse 시작 화면


1
그것은처럼 보이는 --clean동안 아무것도하지 않는다 -clean(단일 하이픈) 실제로 (내 경우에는 이클립스 네온을 사용) 영향을 미칠 것으로 보인다.
Christopher Schultz

답변:


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

다음을 시도하십시오.

  1. 로컬 작업 공간 에서 .metadata 폴더를 삭제하십시오 (이것이 저에게 효과적 이었습니다). 제대로 닫히지 않으면 일식이 제대로 시작되지 않는 .LOCK 파일이 포함되어있는 것 같습니다. Unix 기반 시스템에서는 명령 줄에 다음을 입력 할 수 있습니다.

    rm -r workspace/.metadata
    
  2. 홈 디렉토리에서 .eclipse 디렉토리를 삭제하십시오 . 이클립스를 시작하십시오. 작동하지 않으면

  3. 다른 사용자 계정으로 Eclipse를 엽니 다. 로드되면 Eclipse 설치가 아닌 계정에 문제가 있음을 알 수 있습니다.


실수로 파일-> 다시 시작을 클릭 한 후에 발생했습니다.
nurnachman

68
대부분의 경우 rm workspace/.metadata/.lock나를 위해 작동합니다. ./eclipse -clean -refresh시도 하는 모든 것을 사용하여 이클립스를 시작하십시오 . mv .eclipse .eclipse.old오늘 도움이되지 않은 우리를 가르쳐 주셔서 감사합니다 . 오늘은 workspace/.metadata/.plugins/. 모든 플러그인은 실제로 그 후에 작동했습니다. 일부 설정이 사라졌습니다. 그런 다음을 사용 Import...하여 모든 기존 프로젝트를 한 번에 가져올 수 있습니다 . 삭제 workspace/.metadata는 마지막 선택이지만 작동합니다. workspace/.metadata/.mylyn작업을 잃어 버리고 싶지 않다면 계속 유지할 수 있습니다 .
sulai

이것에 대해 많은 감사합니다! Eclipse가 갑자기 응답을 멈췄을 때 많은 노력을 절약했습니다. Stackoverflow가 흔들리고 커뮤니티도 마찬가지입니다!
HungryForKnowledge 2013

3
.lock 파일을 삭제하기 만하면됩니다. 모든 설정을 잃을 필요가 없습니다!
슬로

7
.lock 삭제 .metadata/.plugins/org.eclipse.core.resources/.snap는 도움이되지 않았지만 삭제 는 도움 이되었습니다
serge

92

http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/에 표시된 절차 가 저에게 효과적 이었습니다.

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. 일식을 시작하십시오. (프로젝트를 찾을 수 없기 때문에 오류 메시지 또는 빈 작업 공간이 표시되어야합니다.)
  4. 열려있는 모든 편집기 탭을 닫습니다.
  5. 일식을 종료하십시오.
  6. rm -rf org.eclipse.core.resources (새로 생성 된 디렉토리 삭제)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (원래 디렉토리 복원)
  8. 일식을 시작하고 작업을 시작하십시오. :-)

다른 답변에서 :

eclipse -clean -clearPersistedState

똑같거나 더 나은 효과가있는 것 같습니다.

다음은 MacOS (Macports 사용) 및 Linux (Eclipse Equinox를 사용하여 Ubuntu에서 테스트 됨)를위한 스크립트입니다. 필요에 따라 스크립트를 조정할 수 있습니다. 새 플랫폼을 추가하는 경우이 답변에서 바로 스크립트를 편집하십시오.

#!/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
감사! 이것은 전체 .metadata 폴더를 삭제하는 것보다 더 나은 방법입니다. 그것은 완벽하게 작동
야콥

1
훨씬 낫다. 맥 OS X 매버릭스에 케플러에 도움
로버트 Sösemann

5
이 "eclipse -clean -clearPersistedState"가 도움이되었습니다. 감사합니다!
Michal 2014

2
-clean -clearPersistedState 승 7 Aptana에 스튜디오 3 나를 위해 일한
로렌스 하세을

2
eclipse -clean -clearPersistedState는 Kepler Win 7에서 작업했습니다
Yitzchak

37
./eclipse -clean -refresh

sulai의 댓글에서 언급했듯이 '12 12 월 20 일 12:46 : 그것은 나를 위해 일했습니다.

그러나 Mac OS X에서는 ./eclipse를 얻는 방법을 찾아야했습니다.

해결책은 다음과 같습니다.

cd Eclipse.app/Contents/MacOS/

이 게시물에 대한 Andrew의 의견 감사합니다 : https://stackoverflow.com/a/1783448/2162226


2
-clean -refresh를 사용하여 먼저 새 작업 공간을 열어야했습니다. 그리고 Eclipse (제 경우에는 GGTS)가 열렸을 때 File> Switch Workspace를 선택하고 원래 정지 문제를 일으킨 작업 공간으로 돌아갔습니다.
pm_labs 2014

Eclipse Luna에서 응용 프로그램은 실제로 파일 일 뿐이므로 폴더로 이동할 필요가 없습니다. 그냥 실행 ./eclipse -clean -refresh나를 위해 그것을 고정
사이렌

20

내가 찾은 가장 좋은 해결책은이 파일을 삭제하는 것입니다 : workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench


2
일식 인디고에서. 시도 RM 작업 영역 / .metadata / .plugins / org.eclipse.ui.workbench /
기어

1
이것은 윈도우 7에 TIBCO 비즈니스 웍스 디자인 스튜디오와 나를 위해이 문제를 정리
알렉스 Beynenson

내 맥북 "12 프로에,이 솔루션은 나를 위해 최선의 일
ironmantis7x

12

전체 메타 데이터를 삭제할 필요가 없습니다. 작업 공간 폴더의 org.eclipse.core.resources 아래 에서 .snap 파일을 삭제하십시오 .

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


이 파일 하나를 삭제하면 Eclipse가 시작될 때 거의 매번 작동했습니다. 감사!
Joseph

(맥 엘 캐피) 4.5.1 - 이클립스 화성을 위해 나를 위해 일한 .snap 파일을 삭제
hashcoder

제이보스 개발자 스튜디오 10 개 나를 위해 일한
토마스

11

작업 공간 디렉토리 (및 모든 하위 디렉토리)에서 * .snap 삭제를 해결했습니다.

metadata \ .plugins \ *. snap


1
이것은 내 모든 설정을 잃지 않도록 저를 구했습니다!
tprk77 2013

8

꽤 오래된 질문이지만 가장 간단한 답변은 아직 게시되지 않았습니다.
여기있다 :
1) 에서 [workspace]\.metadata\.plugins\org.eclipse.e4.workbench 삭제 workbench.xmi 파일.
대부분의 경우 충분합니다. Eclipse를로드 해보십시오.
그래도 특정 관점 설정을 다시 구성해야합니다 (있는 경우).

2) 이제 완벽하게 작동하는 프로젝트를 만드는 데 문제가 있습니까? 내 경험에 따르면 다음 단계는 도움이 됩니다 .- 프로젝트
선택 취소- > 자동 빌드-Java
퍼스펙티브로 전환 (아직 아님) : 창-> 퍼스펙티브 열기->
Java- 문제 보기를 찾 거나 엽니 다 : 창->보기 표시-> 문제
-문제 그룹을 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택 합니다. Lint 오류를 삭제하십시오
-작업 공간 정리 : 프로젝트-> 정리 ... 옵션으로 모든 프로젝트 정리
- 프로젝트 - > 자동 빌드
선택-일부 프로젝트에서 문제가 지속되면 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성-> Android를 선택하십시오.적절한 프로젝트 빌드 대상 이 선택 되었는지 확인하십시오.

3) 항상 충분했습니다. 그러나 여전히 문제가 발생하면 @george post 권장 사항을 시도하십시오.


감사합니다! 아무것도 다른 일을하지하지만 workbench.xmi 삭제
간단히 크레이그

6

다음 절차는 MacOS (Mavericks) 및 Eclipse Luna 4.4.1에서 작동했습니다.

"workspaceFolder".metadata.plugins \ org.eclipse.core.resources \ 경로에서 .snap 파일을 삭제하십시오.

Mac에서이 폴더로 이동하는 방법을 모르는 경우 Cmd + Shift + G (폴더로 이동)를 누르고 탐색하려는 전체 주소를 입력하십시오.



3

작업 공간 /.metadata/.lock을 삭제하고 -clean -refresh로 이클립스를 시작하는 것이 저에게 효과적이었습니다.


2

작업 공간 폴더에서 찾을 수있는 metadata.plugins \ 내의 org.eclipse.e4.workbench 폴더를 삭제해야합니다. 이 폴더를 삭제하면 문제가 해결되었습니다. 다른 사람에게 도움이되기를 바랍니다.



0

이런 종류의 행동에는 여러 가지 가능한 이유가 있습니다. 셸 프롬프트에서 실행하는 것 외에도 작업 공간 로그 파일 (작업 공간 디렉토리 아래에있는 .metadata / .log 파일)에서 단서를 찾는 것이 좋습니다. 로깅 코드 자체를 사용하지만 로그는 오류 이전에 무슨 일이 있었는지 확인하는 데 여전히 도움이 될 수 있습니다.

웹에서 찾은 메시지를 검색하면 다양한 디렉토리 나 파일을 삭제하고 다시 시작하라는 제안이 자주 나타납니다. 덜 파괴적인 솔루션을 위해 때때로 .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml의 일부를 제거 할 수있었습니다.


0

.metadata 디렉토리에서 파일을 삭제하는 문제는 워크 벤치를 처음부터 시작해야한다는 것입니다. 따라서 모든 프로젝트를 복원하는 데 시간이 걸릴 수 있습니다. 특히 프로젝트가 많은 경우에는 더욱 그렇습니다. 기존 파일을 이전 백업 파일로 바꾸는 것만으로 백업에서 .metadata를 복원하는 것이 저에게 효과적이었습니다.


0

최신 Eclipse 버전으로 작업 공간을로드하고 저장하는 것도 도움이 될 수 있습니다.

이클립스 3.8을 사용하고 있습니다. 시작할 때 시작 화면이 멈 춥니 다. 로그에 오류 메시지가 없습니다. 도움이 된 것은 Eclipse 4.2.2로 작업 공간을 여는 것이 었습니다. 작업 공간을 열고 닫은 후 3.8로 다시로드 할 수있었습니다.


0

파일 날짜에 대한 몇 가지 조사 후 로컬 작업 공간에서 .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat 파일을 삭제하여 동일한 문제 (내 Kepler에서 무작위로 반복되는 문제)를 해결했습니다.

작업 공간 복원에 거의 영향을주지 않습니다.

다른 사람을 도울 수 있기를 바랍니다.


0

작업 공간에서 숨겨진 폴더 이름 .metadata를 찾을 수 있습니다. 여기서 다른 숨겨진 폴더 ".mylyn"을 찾을 수 있습니다.이 폴더를 삭제하고 휴지통을 비우십시오. 작업 관리자로 이동하여 Eclipse 프로세스를 중지하고 이번에는 Eclipse를 다시 시작하십시오.

즐겨!


0

나를 위해 일한 덜 파괴적인 방법이 있습니다.

나는 임의의 디렉토리에서 실행중인 Spring Tool Suite (Eclipse의 확장) 사본이있는 Windows 시스템에 있습니다. 내 명령 줄 프롬프트에서 내 포함 된 디렉토리로 이동하여 다음 STS.exe을 실행해야 STS.exe -refresh합니다..

그 후, 고정 된 작업 표시 줄 아이콘을 통해 일반적인 방식으로 Eclipse를 열 수 있습니다.


0

.metadata / .plugin / org.eclipse.core.resources 폴더의 백업 사본을 가져온 다음 해당 폴더를 삭제하고 Eclipse를 실행하십시오. 그러면 작업 공간이 시작되지만 org.eclipse.core.resources가 모든 프로젝트 목록을 유지하므로 모든 프로젝트가 사라집니다.

다음으로, eclipse를 제대로 닫고 org.eclipse.core.resources를 백업에서 .metadata / .plugins / 폴더로 다시 복사하여 기존 폴더를 덮어 씁니다.

이클립스를 열면 모든 프로젝트가 정상적으로 작동합니다.


0

시작시 Eclipse 정지-작업 공간을로드하기 전에이 게시물에 대한 매우 좋은 답변입니다. 나를 위해 일한 대답을 반복

작업 공간 디렉토리에서 다음 단계를 수행하십시오.

cd .metadata / .plugins

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

일식을 시작하십시오. (프로젝트를 찾을 수 없기 때문에 오류 메시지 또는 빈 작업 공간이 표시되어야합니다.)

열려있는 모든 편집기 탭을 닫습니다.

일식을 종료하십시오.

rm -rf org.eclipse.core.resources (새로 생성 된 디렉토리 삭제)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (원래 디렉토리 복원)

일식을 시작하고 작업을 시작하십시오. :-)

의해 답변을 CharlesB


-1

어떤 해결책도 내 사건에 도움이되지 않았습니다.

그래도 작동하는 해결책을 찾았습니다. Eclipse에서 ADT 플러그인이 제대로 업데이트되지 않을 때 이런 일이 발생한다고 읽었습니다.

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

모든 것을 업데이트하고 워! Eclipse를 시작할 때 더 이상 멈추지 않습니다!


-1

나는이 모든 것을 시도하지 않았다. 랩톱 / 컴퓨터로 다시 시작했습니다. 그 후 모든 것이 정상으로 돌아 왔습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.