转自:http://www.jems.me/blog/web/115-eclipse-starting-halted-when-loading-workbench.html

前两天休眠后机器非正常关机,重新启动后运行eclipse。悲催的发现eclipse 无法启动了。每次双击启动后,确定完workspace后,显示启动画面,没过一会就进入灰色无响应状态。启动画面始终停留在Loading workbench状态。反复重启,状态依旧。尝试解决。

搜索了一下,应该是非正常关机导致eclipse工作区的文件状态错误导致。在工作区目录中,有一个.metadata目录,里面是工作区及各插件的信息,删除此目录可以解决问题。

Jem保险起见,将.metadata改名移动到/tmp目录,再重启eclipse,果然可以正常启动eclipse了,但原来工作区的配置和项目信息也都消失,直接显示的是欢迎界面。

如何恢复原来的project配置呢?尝试对比了当前的.metadata和之前备份的那个目录,发现缺少了n多的配置文件。试着一点点恢复一些目录,但 效果不理想。因为不知道哪些文件(目录)可以恢复,哪些恢复会带来问题。将备份的整个目录恢复试试?Eclipse又回到了无法启动的状态了。

咋办?这时想到启动停止时显示的状态:"Loading workbench",看来和这个workbench插件有关。查看原来的.metadata/.plugins目录,在众多文件夹中

com.collabnet.subversion.merge         org.eclipse.search
org.eclipse.compare                    org.eclipse.team.core
org.eclipse.core.resources             org.eclipse.team.cvs.core
org.eclipse.core.runtime               org.eclipse.team.ui
org.eclipse.debug.core                 org.eclipse.ui.ide
org.eclipse.debug.ui                   org.eclipse.ui.intro
org.eclipse.dltk.core                  org.eclipse.ui.views.log
org.eclipse.dltk.core.index.sql.h2     org.eclipse.ui.workbench
org.eclipse.dltk.ui                    org.eclipse.ui.workbench.texteditor
org.eclipse.epp.usagedata.recording    org.eclipse.wb.discovery.core
org.eclipse.jdt.core                   org.eclipse.wst.internet.cache
org.eclipse.jdt.ui                     org.eclipse.wst.jsdt.core
org.eclipse.ltk.core.refactoring       org.eclipse.wst.jsdt.ui
org.eclipse.ltk.ui.refactoring         org.eclipse.wst.jsdt.web.core
org.eclipse.m2e.core                   org.eclipse.wst.sse.ui
org.eclipse.m2e.logback.configuration  org.eclipse.wst.validation
org.eclipse.mylyn.bugzilla.core        org.eclipse.wst.xml.core
org.eclipse.mylyn.tasks.ui             org.tigris.subversion.subclipse.core
org.eclipse.php.core                   org.tigris.subversion.subclipse.graph
org.eclipse.php.ui                     org.tigris.subversion.subclipse.ui

发现了两个:org.eclipse.ui.workbench和 org.eclipse.ui.workbench.texteditor。

不管三七二十一,删了这两个目录,重新启动eclipse。正常启动且原项目信息正确加载。