问题
问题出现在当你在之前的session未完全关闭时启动Eclipse,也就是说,你强行关闭了Eclipse。如果你搜索这些问题,你会看到许多手下不留情的修复建议:
"删除你的workspace,重新导入你的项目"
"删除你的metadata目录,重新导入"
"删除你workspace下的所有隐藏文件"
等等等.
最差的建议是完全删除eclipse并重新开始(下载, 安装)。我要说明一点,不要尝试任何一个这些建议!这些解决方案太野蛮,它会使你损失workspace的配置设置。
问题出现的原因是因为Eclipse在能够删除workspace metadata下隐藏的“.lock”文件之前就停止了运行。一重启,Eclipse会扫描metadata,发现了这个lock文件,由于当前的实例没有待定的任务去清除这个文件,它一直等着一个永远不会出现的删除操作。
解决方案
如果Eclipse仍卡在那里,在Dock上强行关闭Eclipse。损害已经造成,关闭它以使它不会变的更糟。
打开终端,进入包含你的eclipse workspace的目录,然后使用以下命令删除隐藏的lock文件
[plain] view plain copysudo rm workspace/.metadata/.lock
下一步,使用clean和refresh参数启动eclipse,这样eclipse实例知道去重新生成任何看起来怪异的metadata(注:以下两行是两条命令)
[plain] view plain copycd /Users/YOUR USER NAME/Development/eclipse/Eclipse.app/Contents/MacOS ./eclipse -clean -refresh
就是这样!
如果你觉得这可能会发生很多(或者如果你只是以脚本编程为乐...什么?)你可以记录上述操作作为自动化脚本,并创建一个快捷方式到它的Eclipse文件夹中,这样你可以在将来快速的再次修复该问题。
找到这个解决方案归功于StackOverflow.com上的sulai,因为我是从它的上学到的,如果这帮到了你,一定要到该链接去给他的回答投票。
==============================华丽的分割线==============================
我的情况和上述类似,我使用的是 TOOL SUITE,重新Mac时,强行干掉了STS,再次开机启动时,一直停留在“Loading org.eclipse.egit.core”这里,如下图:
解决方案也相似:
#1. option + command + esc,选择Spring Tool Suite,强行关闭#2. cd 到STS的目录下[html] view plain copycd /Applications/Coding/sts-bundle/STS.app/Contents/MacOS #3. 执行带clean和refresh参数的启动命令[plain] view plain copy./STS -clean -refresh #4. 看到进度条又欢快的跑起来了