我使用的是Eclipse 3.3(“Europa”)。周期性地,Eclipse需要非常长的时间(可能永远)才能启动。我在Eclipse日志中唯一能看到的是:

    !ENTRY org.eclipse.core.resources 2 10035 2008-10-16 09:47:34.801
    !MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

谷歌搜索发现有人建议我删除文件夹:

workspace\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes

这似乎并没有起到什么作用。

如果不从一个新的工作空间开始(这是我不喜欢做的事情,因为重新正确地设置所有项目需要花费数小时),那么是否有一种方法可以使Eclipse正确地启动?


当前回答

我尝试了这篇文章里的所有答案,但没有一个对我有效——没有快照文件,没有移动项目,没有一个。

奇怪的是,有效的方法是将所有项目和.metadata文件夹移到其他地方,启动Eclipse,关闭它,然后将它们全部移回来。

其他回答

我的解决方案是删除这个目录:

workspace/.metadata/.plugins/org.eclipse.e4.workbench

所做的是首先从.metadata中删除(将其移动到保存位置)所有内容。Eclipse重新启动(我的所有设置都消失了)。 然后我一点一点地添加回。metadata目录,直到它不能再工作。这样我发现我只需要删除这个目录。现在Eclipse启动了,我的所有设置都还在。

似乎在这个目录的文件中,应该在启动时打开的Windows被列出,不知怎么回事,它找不到一个,所以它挂了。为什么我不清楚,因为在日志中抱怨的文件是在我的文件系统上。

对于您的问题,这可能不是一个确切的解决方案,但在我的案例中,我跟踪了Eclipse使用SysInternals Procmon轮询的文件,并发现Eclipse一直在为我的一个项目轮询一个相当大的快照文件。删除它后,一切正常启动(尽管工作空间处于上次启动时的状态)。

被删除的文件是:

<workspace>\.metadata\.plugins\org.eclipse.core.resources\.projects\<project>\.markers.snap

删除*。Snap(我的是*.markers),——清洁数据或移动工作区文件夹似乎都不适合我。

当我安装并将键盘输入切换到HIME后,eclipse停止工作,我回到fctix,它工作了。

在我的例子中,删除工作区的.metadata文件夹是有效的。我正在使用Eclipse Luna服务Release 2。

不幸的是,这些方法对我都不起作用。我最终不得不创建一个新的工作空间,然后将现有的项目导入到新的工作空间中。不幸的是,在这样做的时候,你会失去你的首选项(所以,记得在任何时候你改变它们时导出你的设置!)