Eclipseがワークベンチのロードを停止します。すでに./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をロードすると停止します
私のワークベンチの何が問題になっていますか?
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
以下を試してください:
ローカルの。metadataフォルダーを削除しますworkspace(これが私にとってうまくいったことです)。正しく閉じられていないと、Eclipseが正常に起動しなくなる.LOCKファイルが含まれているようです。 Unixベースのシステムでは、コマンドラインで次のように入力できます。
rm -r workspace/.metadata
ホームディレクトリの。Eclipseディレクトリを削除します。 Eclipseを起動します。うまくいかない場合は、
別のユーザーアカウントでEclipseを開きます。ロードされる場合、問題はEclipseのインストールではなく、アカウントにあることがわかります。
http://off-topic.biz/en/Eclipse-hangs-at-startup-showing-only-the-splash-screen/ に示されている手順は私のために働いた:
他の答え:
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&
./Eclipse -clean -refresh
12:46の12月20日sulaiによるコメントで述べたように、それは私のために働いた。
ただし、Mac OS Xでは、。/ Eclipseに到達する方法を理解する必要がありました。
解決策は次のとおりです。
cd Eclipse.app/Contents/MacOS/
この投稿に対するAndrewのコメントをありがとう: https://stackoverflow.com/a/1783448/2162226
私が見つけた最良の解決策は、このファイルを削除することです:workspace/.metadata/.plugins/org.Eclipse.e4.workbench/workbench
メタデータ全体を削除する必要はありません。ワークスペースフォルダーのorg.Eclipse.core.resourcesの下にある。snapファイルを削除してみてください。
workspaceFolder.metadata.plugins\org.Eclipse.core.resources
ワークスペースディレクトリ(およびすべてのサブディレクトリ)から* .snapを削除して解決しました。
metadata\.plugins\*。snap
かなり古い質問ですが、most simpleの回答はまだ投稿されていません。
ここにあります :
1) In [workspace]\.metadata\.plugins\org.Eclipse.e4.workbench
deleteworkbench.xmi
ファイル。
ほとんどの場合それで十分です-Eclipseをロードしてみてください。
まだ特定のパースペクティブ設定を再構成する必要があります(ある場合)
2)完全に機能するプロジェクトの構築で問題が発生しましたか?私の経験では、次の手順が役立ちます:
-チェック解除プロジェクト->自動的にビルド
-Javaパースペクティブへの切り替え(まだでない場合):ウィンドウ->パースペクティブを開く-> Java
問題ビューを見つけるか開く):ウィンドウ->ビューを表示->問題
-問題グループを右クリックして、Deleteを選択します。 Lintエラーを必ず削除してください
-ワークスペースのクリーニング:Project-> Clean ...with optionClean all projects
-チェックプロジェクト->自動的にビルド
-一部のプロジェクトで問題が解決しない場合:プロジェクトを右クリックして、Properties-> Androidを選択し、適切であることを確認しますProject Build Targetが選択されています
---(3)それは私にとって常に十分でした。それでも問題が解決しない場合は、@ george投稿の推奨事項を試してください
次の手順は、MacOS(Mavericks)およびEclipse Luna 4.4.1で機能しました。
パス「workspaceFolder」.metadata.plugins\org.Eclipse.core.resources \の下の.snapファイルを削除します。
Macでこのフォルダーに移動する方法がわからない場合は、Cmd + Shift + G(フォルダーに移動)を押して、移動する完全なアドレスを入力します。
workspace/.metadata/.lockを削除し、-clean -refreshを指定してEclipseを起動すると、うまくいきました。
この問題が発生している可能性があります:
ワークスペースフォルダーにあるmetadata.plugins \内のorg.Eclipse.e4.workbenchフォルダーを削除する必要があります。このフォルダを削除することで問題は解決しました。他の人の助けになることを願っています!
Windows 7でこの問題が発生したため、これが修正されました。
http://letsgetdugg.com/2009/04/19/recovering-a-corrupt-Eclipse-workspace/
cd〜/ Documents/workspace/.metalog/.plugins
rm -rf org.Eclipse.core.resources
.metadataディレクトリ内のファイルを削除する際の問題は、ワークベンチを最初から起動する必要があることです。そのため、特に多数のプロジェクトがある場合は、すべてのプロジェクトを復元するのに時間がかかる場合があります。既存のファイルを古いバックアップファイルに置き換えるだけで、バックアップから.metadataを復元することができました。
このような振る舞いには多くの理由が考えられます。シェルプロンプトから実行するのに加えて、ワークスペースディレクトリの下にある.metadata/.logファイルであるワークスペースログファイルの手がかりを探す価値があります。ロギングコード自体で行いますが、ログはエラーの前に何が起こっていたかを判断するのに役立ちます。
見つけたメッセージのWeb検索では、多くの場合、さまざまなディレクトリまたはファイルを削除して再起動するための提案が表示されます。ただし、破壊的でないソリューションのために、.metadata/.plugins/org.Eclipse.ui.workbench/workbench.xmlの一部を削除することもできました。
.metadata/.plugin/org.Eclipse.core.resourcesフォルダーのバックアップコピーを取得し、そのフォルダーを削除してEclipseを起動します。これでワークスペースが起動しますが、org.Eclipse.core.resourcesがすべてのプロジェクトのリストを保持しているため、すべてのプロジェクトは削除されます。
次に、Eclipseを適切に閉じ、org.Eclipse.core.resourcesをバックアップから.metadata/.plugins /フォルダーにコピーして、既存のフォルダーを上書きします。
Eclipseを開くと、すべてのプロジェクトで正常に動作するはずです。
ファイルの日付に関するいくつかの調査の後、ローカルワークスペースで次のファイルを削除するだけで、同じ問題(ケプラーでランダムに繰り返し発生する問題)を解決しました:.metadata.plugins\org.Eclipse.jdt.core\variablesAndContainers.dat
ワークスペースの復元への影響はごくわずかです。
私はそれが他の誰かに役立つことを願っています...
これは私にとってうまくいった、あまり破壊的でない方法です:
ランダムディレクトリから実行しているSpring Tool Suite(Eclipseの拡張機能)のコピーを使用してWindowsマシンを使用しています。コマンドラインプロンプトで、STS.exe
を含むディレクトリに移動し、STS.exe -refresh
を実行する必要がありました。
その後、通常の方法でEclipseを開くことができました(ピン留めされたタスクバーアイコンを使用)。
起動時にEclipseがフリーズする-ワークスペースを読み込む前 この投稿に対する非常に良い答え。私のために働いた答えを繰り返します
ワークスペースディレクトリで、次の手順を実行します。
cd .metadata/.plugins
mv org.Eclipse.core.resources org.Eclipse.core.resources.bak
Eclipseを起動します。 (プロジェクトが見つからないため、エラーメッセージまたは空のワークスペースが表示されます。)
開いているすべてのエディタータブを閉じます。
Eclipseを終了します。
rm -rf org.Eclipse.core.resources(新しく作成されたディレクトリを削除します。)
mv org.Eclipse.core.resources.bak/org.Eclipse.core.resources(元のディレクトリを復元します。)
Eclipseを起動して、作業を開始します。 :-)
CharlesBによる回答
また、新しいEclipseバージョンでワークスペースをロードして保存しようとすると役立つ場合があります。
Eclipse 3.8を使用しています。スプラッシュ画面を起動するとハングします。ログにエラーメッセージはありませんでした。助けたのは、Eclipse 4.2.2でワークスペースを開くことでした。ワークスペースを開いて閉じた後、3.8で再び読み込むことができました。
ワークスペースには、隠しフォルダー名.metadataがあり、別の隠しフォルダー ".mylyn"があり、それを削除してゴミ箱を空にします。
楽しい!