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


当前回答

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

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

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

其他回答

您可以尝试先使用-clean选项启动Eclipse。

在Windows上,您可以将-clean选项添加到eclipse的快捷方式中。在Linux上,您可以在从命令行启动Eclipse时添加它。

我在Fedora 18上的eclipse (Juno)遇到了非常类似的问题。在调试Android会话的过程中,eclipse结束了调试会话。我试图重新启动eclipse,但它一直挂在启动屏幕上。我尝试了上面的各种建议,都没有成功。最后,我检查了adb服务(android调试桥):

# adb devices
List of devices attached 
XXXXXX offline

我知道android设备仍然连接,但它报告离线。我断开了设备并关闭了adb服务:

# adb kill-server

然后我等待了几秒钟,重新启动了adb服务:

# adb start-server

把我的机器人重新插上。在那之后,日食开始得很好。

在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

由于我在.metadata.plugins\org.eclipse.core中没有.snao或.prefs文件。资源文件夹(在OS X上运行),什么为我做的技巧是复制。project文件夹到旧。项目,启动Eclipse,并检查

Windows ->首选项->常规-> 开机关机->刷新 启动时的工作区

在此之后,我关闭了Eclipse,将文件夹重命名为old。项目回到。Projects之后,一切都恢复正常。

我是这样做的:

CD到.metadata.plugins\org.eclipse.core.resources 删除.snap文件 注意到进度标签每隔几秒钟就会做一些事情,似乎卡住了 退出eclipse(不要在这里重新启动|文件,否则您必须再次返回步骤1) 再次打开eclipse。

在启动eclipse时使用-refresh或-clean没有帮助。