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


当前回答

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

被删除的文件是:

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

其他回答

Windows ->首选项->常规->启动和关机

是否选中启动时刷新工作区?

如果您使用的是Eclipse 4.5/4.6、旧于v2.9.0的Eclipse Xtext插件版本以及特定的工作空间配置,也可能由此错误引起。

解决方法是创建一个新的工作空间并导入现有的项目。

在Mac OS X上,通过双击Eclipse应用程序启动Eclipse。如果需要将参数传递给Eclipse,则必须在Eclipse应用程序包中编辑Eclipse .ini文件:按住Control键时选择Eclipse应用程序包图标。这将为您呈现一个弹出式菜单。在弹出菜单中选择“显示包内容”。在Contents/MacOS子文件夹中找到eclipse.ini文件,并用您最喜欢的文本编辑器打开它,以编辑命令行选项。

在文件开头添加:"-clean"和"-refresh",例如:

-clean
-refresh
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library

我没有快照文件。通过帮助菜单安装列表,我发现至少90%的插件的卸载按钮都是无效的,所以我无法通过这个按钮来处理。在启动/关机下,大多数插件都没有列出。相反,我不得不手动从我的插件文件夹中删除项目。哇,现在启动时间对我来说快多了。因此,如果其他方法都不起作用,而你的插件是一次性的,这可能是使用的最终解决方案。

我在更新Mavericks上的eclipse后也遇到了类似的问题。最终,我发现在eclipse插件目录中,com.google.gdt.eclipse.login jar末尾有版本号。我从名字中删除了版本号,一切开始都很好:)