ワークベンチのロード中に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
(単一のハイフン)は実際には効果があるようですが(私の場合はEclipse Neonを使用)、--clean何もしないよう-cleanです。
クリストファーシュルツ

回答:


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ファイルが含まれているようです。正しく閉じられていないと、Eclipseが正しく起動しません。Unixベースのシステムでは、コマンドラインで次のように入力できます。

    rm -r workspace/.metadata
    
  2. ホームディレクトリの.eclipseディレクトリを削除します。日食を起動します。それがうまくいかない場合、

  3. 別のユーザーアカウントでEclipseを開きます。読み込まれた場合、問題はEclipseインストールではなく、アカウントにあることがわかります。


誤って[ファイル]-> [再起動]をクリックした後、それが起こりました。
nurnachman

68
ほとんどの場合、rm workspace/.metadata/.lock私のために働く。./eclipse -clean -refresh何をしようとしても必ずEclipseを開始してください。mv .eclipse .eclipse.old今日は役に立たなかった私たちを教えてくれてありがとう。今日、それは削除に役立ちましたworkspace/.metadata/.plugins/。その後、すべてのプラグインが実際に機能しました。一部の設定がなくなりました。次に、を使用Import...して、既存のすべてのプロジェクトを一度にインポートできます。削除workspace/.metadataは最後の選択ですが、機能します。workspace/.metadata/.mylynタスクを失いたくない場合は、そのままにしておくことができます。
sulai

これをありがとう!Eclipseが突然応答を停止したとき、私は多くの労力を節約できました。
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でテスト済み)が、オプションで実行中のEclipseを強制終了することから始めるスクリプトです。スクリプトを自分のニーズに適合させることができます。新しいプラットフォームを追加する場合は、この回答のスクリプトを編集してください。

#!/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
ずっといい。Mac OS X MavericksのKeplerを支援
RobertSösemann2014年

5
この「eclipse -clean -clearPersistedState」は私を助けてくれました、ありがとう!
ミハル14

2
-clean -clearPersistedStateは、Aptana Studio 3の勝利7で私のために機能しました
Lorenz Haase

2
eclipse -clean -clearPersistedStateがKepler Win 7で動作しました
Yitzchak

37
./eclipse -clean -refresh

sulaiのコメント12月20日12:46に述べられているように、それは私のために働いた。

ただし、Mac OS Xでは、。/ eclipseにアクセスする方法を理解する必要がありました

これが解決策です:

cd Eclipse.app/Contents/MacOS/

この投稿に対するAndrewのコメントに感謝します。https//stackoverflow.com/a/1783448/2162226


2
-clean -refreshを使用して、最初に新しいワークスペース(testという名前)を開く必要がありました。そして、Eclipse(私の場合はGGTS)を開いたときに、[ファイル]> [ワークスペースの切り替え]を選択し、フリーズの問題の原因となったワークスペースに戻りました。
pm_labs 2014

Eclipse Lunaでは、アプリケーションは実際には単なるファイルであり、フォルダーにcdする必要はありません。実行して./eclipse -clean -refresh修正しただけです
サイレン

20

私が見つけた最良の解決策は、このファイルを削除することです:workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench


2
日食インディゴ。rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /を試してください
Gere

1
これは、Windows 7上でTIBCO BusinessWorksデザインスタジオで私のために、この問題をクリア
アレックスBeynenson

私のMacBookプロ12
インチで

12

メタデータ全体を削除する必要はありません。ワークスペースフォルダーexのorg.eclipse.core.resourcesにある.snapファイルを削除してみてください

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


この1つのファイルを削除することは、Eclipseが起動時にハングするたびに私にとってはうまくいきました。ありがとう!
ジョセフ

.snapファイルを削除すると、Eclipse Mars-4.5.1(Mac El Capitan)で機能しました
ハッシュコーダー

JBoss Developer Studio 10で私のために働いた
Thomas

11

* .snapをワークスペースディレクトリ(およびすべてのサブディレクトリ)から削除することを解決しました:

メタデータ\ .plugins \ *。snap


1
これにより、すべての設定が失われるのを防ぐことができました。
tprk77 2013

8

かなり古い質問ですが、最も簡単な答えはまだ投稿されていません。
ここにある:
1)[workspace]\.metadata\.plugins\org.eclipse.e4.workbench 、削除 workbench.xmiファイル。
ほとんどの場合それで十分です-Eclipseをロードしてみてください。
それでも、特定のパースペクティブ設定(存在する場合)を再構成する必要があります

2)完全に機能するプロジェクトの構築で問題が発生していますか?私の経験では、次の手順のヘルプのとおりです
。- プロジェクトのチェックを外します
- >自動的にビルド -Java パースペクティブに切り替えます(まだでない場合):ウィンドウ->パースペクティブを開く->
Java- 問題ビューを見つけるか開きます:ウィンドウ->ビューを表示->問題
-問題のあるグループを右クリックし、[ 削除]を選択します。リントエラーを削除してください
-クリーンなワークスペースを:プロジェクト- >クリーンを...オプションでクリーン全プロジェクト
-チェック自動的Projects->ビルド
-問題はいくつかのプロジェクトのために持続している場合:右クリックプロジェクトを選択し、プロパティを- > Androidの適切なプロジェクトビルドターゲットが選択されていることを確認してください

3)いつもそれで十分でした。それでも問題が解決しない場合は、@ georgeの投稿の推奨事項を試してください


ありがとうございました!他には何も機能しませんが、workbench.xmiを削除します
単にCraig

6

以下の手順は私のMacOS(Mavericks)とEclipse Luna 4.4.1で機能しました:

パス「workspaceFolder」.metadata.plugins \ org.eclipse.core.resources \にある.snapファイルを削除します

Macでこのフォルダーに移動する方法がわからない場合は、Cmd + Shift + G(フォルダーに移動)を押して、ナビゲートする完全なアドレスを入力します。




2

ワークスペースフォルダーにあるmetadata.plugins \内のorg.eclipse.e4.workbenchフォルダーを削除する必要があります。このフォルダを削除すると問題が解決しました。他の人の役に立つことを願っています!



0

この種の動作には多くの理由が考えられます。シェルプロンプトから実行することに加えて、ワークスペースのログファイル(ワークスペースディレクトリの下の.metadata / .logファイル)で手掛かりを探すことは価値があります。ロギングコード自体で行いますが、ログはエラーの前に何が起こっていたかを判断するのに役立つ場合があります。

多くの場合、見つけたメッセージをWebで検索すると、さまざまなディレクトリやファイルを削除して、最初からやり直すことができます。ただし、破壊的な解決策として、.metadata / .plugins / org.eclipse.ui.workbench / workbench.xmlの一部を削除することもできます。


0

.metadataディレクトリ内のファイルを削除する際の問題は、ワークベンチを最初から開始する必要があることです。そのため、特に多数のプロジェクトがある場合は、すべてのプロジェクトを復元するのに時間がかかることがあります。既存のファイルを古いバックアップ済みのファイルで置き換えるだけで、バックアップから.metadataを復元できました。


0

新しいEclipseバージョンでワークスペースをロードして保存しようとすると役立つ場合もあります。

私は日食3.8を使用しています。起動時にスプラッシュ画面がハングしました。ログにエラーメッセージはありませんでした。役に立ったのは、Eclipse 4.2.2でワークスペースを開くことでした。ワークスペースを開いて閉じた後、3.8で再びロードすることができました。


0

ファイルの日付について調査した後、ローカルワークスペースで次のファイルを削除するだけで、同じ問題(Keplerでランダムに再発する問題です)を解決しました:.metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

ワークスペースの復元への影響はごくわずかです。

それが他の誰かを助けることを願っています...


0

ワークスペースに隠しフォルダー名.metadataが見つかります。そこに別の隠しフォルダー ".mylyn"が見つかり、それを削除してゴミ箱を空にします。タスクマネージャーに移動してEclipseのプロセスを停止し、今度はEclipseを再起動します。

楽しい!


0

ここで私のために働いたより破壊的でない方法があります:

私はWindowsマシンで、ランダムツールから実行しているSpring Tool Suite(Eclipseの拡張)のコピーを使用しています。コマンドラインプロンプトで、自分が含まれているディレクトリに移動して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 /フォルダーにコピーして、既存のフォルダーを上書きします。

Eclipseを開くと、すべてのプロジェクトが正常に戻って正常に動作するはずです。


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

私の場合、解決策はどれも役に立ちませんでした。

しかし、私は実用的な解決策を見つけました。これは、ADTプラグインがEclipseで適切に更新されていない場合に発生することを読みました。

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.