我使用的是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

其他回答

我在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

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

UFT在安装后导致RDz(基于Eclipse)的问题 这些建议将允许在使用环境变量和相应值的情况下解决这种情况。

注意:有冲突的应用程序在java上下文中不会被识别,因为它被排除在java支持机制之外。

影响:排除了通过Windows注册表编辑器连接到冲突应用程序的加载项支持 要求:除Java.exe/Javaw.exe/jpnlauncher.exe外,应用程序必须由EXE文件启动

产品说明:

a.找到与外接程序支持冲突的应用程序的可执行文件名。使用任务管理器或Microsoft进程资源管理器。

b.打开“Windows注册表编辑器”。

c.导航到:HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\JavaAgent\Modules 对于Windows x64上的32位应用程序:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\JavaAgent\Modules

d.以冲突软件可执行文件mae的名称创建DWORD值,并将该值设置为0。

try:

CD到<workspace>\.metadata\.plugins\org.eclipse.core.resources 删除文件*。snap(或。marker in Indigo)

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

我做了很多这样的解决方案,但似乎没有一个对我有效。最终成功的是重启了我的Mac。我注意到我的jconsole似乎也卡住了,这让我立即重新启动,因为它似乎与Java相关,而不是专门与Eclipse相关。