Eclipse Kepler の更新に失敗した時の対処方法など
「Help」→「Check for Updates」メニューを選んだら、Eclipse Kepler がアップデートされていることに気付いたので、バージョンアップを試みた所、こんなエラーが出た。
An error occurred while uninstalling
session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Uninstall, operand=[R]org.eclipse.rcp.configuration_root.win32.win32.x86_64 1.0.0.v20130521-1847 --> null, action=org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CleanupzipAction).
Backup of file C:\eclipseeclipse.exe failed.
Can not remove : C:\eclipse\eclipse.exe
「eclipse.exe ファイルを削除できない」って、、、今、正に実行中なんだから削除できないに決まっているだろう!と思ったけど、以下の様にやれば解決できる。
- eclipse.exe ファイルを実行して、Eclipse を起動する。
- eclipse.exe ファイルの名前を eclipse.exe.back に変更する。
- 「Help」→「Check for Updates」メニューを選んで、Eclipse を更新する。
- Eclipse の再起動を促すダイアログが表示されたら、再起動する。
- 「Help」→「About Eclipse」メニューを選んで、「Version」が更新前後で変更されていることを確認できれば、更新成功。
どうやら Eclipse にバグがあり、自分でファイルを改名しなければならないみたい。
2014/5/11 追記:
バージョンアップ後、新規プロジェクトを作成できなくなってしまった。Error Log ビューを見ると、"Conflicting handlers for org.eclipse."で始まるエラーログが大量に出力されていた。
これも Eclipse のバグで、一年前にパッチがリリースされて修正されたはずなのに、再発しているっぽい。
結局、クリーンインストールしなければならないのか?
2014/5/18 追記:
上記の"Conflicting handlers for org.eclipse."エラーだけど、原因が分かった。Eclipse はその設定を拡張子が epf のファイルとして出力できるけど、自分の場合、Juno でエクスポートしたものを、Kepler でインポートしてしまった。
元々、ワークスペースは別々にしてあったけど、こういうやり方でエクスポート→インポートしてしまうと、Keplor が Juno で使用しているワークスペースを使用するようになってしまう。
当然、互換性の問題が発生する訳で、結局、Kepler を一からインストールし直して、設定も一つ一つ変更した。
epf ファイルはバージョンが同じものでないとインポートできないのか。。
参考資料:
- Eclipse Community Forums: P2 » Update error
- Bug 333355 – When checking for software updates Backup of file D:\ProgramFiles\Eclipse 3.6\eclipse.exe failed. File that was copied to backup could not be deleted: D:\ProgramFiles\Eclipse 3.6\eclipse.exe
- Bug 401055 – Conflicting handlers for org.eclipse.debug.ui.commands.eof