我使用的是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正确地启动?


当前回答

在Ubuntu eclipse -clean -refresh适用于eclipse 3.8.1

其他回答

我在3.5中遇到过类似的问题,工作区太大了,到处都找不到.snap-files。“Windows ->首选项->常规->启动和关闭->启动时刷新工作空间”似乎是一个与工作空间相关的设置,所以我无法为导致挂起的工作空间更改它。

使用命令行参数-refresh运行eclipse,然后更改设置似乎可以达到目的。

就我而言(朱诺),我必须这样做:

find $WORKSPACE_DIR/.metadata/.plugins/org.eclipse.core.resources/.projects \
-name .indexes -exec rm -fr {} \;

这招奏效了。

最初我认为这是Mylyn的问题(我在开始使用它的通用web连接器后遇到了这些冻结),但即使在卸载连接器,甚至删除. Mylyn目录后,问题也出现了。

编辑:我还设法通过删除一个文件重新启动eclipse:

rm $WORKSPACE_DIR/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

这工作得很好,没有涉及任何索引。只有工作台,我个人不太介意。

在我的案例中,类似的症状是由一些流氓git存储库导致的,其中包含大量的垃圾系统文件。

如上所述,通用的补救方法是使用Process Monitor发现违规文件。设置以下两行筛选器很有用:

进程名为“eclipse.exe” 进程名为“javaw.exe”

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

被删除的文件是:

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

好吧,我有类似的行为,而开始日食在X11。我忘记在我的putty中勾选启用X11转发。