如何防止Eclipse在启动时挂起?

时间:2008-10-16 08:57:40

标签: java eclipse eclipse-3.3

我正在使用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.

Google搜索显示someone's suggestion我删除了该文件夹:

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

这似乎没有帮助。

从新工作区开始(我不想做的事情,因为我需要花费数小时才能正确设置所有项目),有没有办法让Eclipse正常启动?

36 个答案:

答案 0 :(得分:261)

这对您的问题可能不是一个确切的解决方案,但在我的情况下,我使用SysInternals Procmon跟踪Eclipse正在轮询的文件,并发现Eclipse不断轮询一个相当大的快照文件我的项目。删除了,一切都很好(尽管工作区处于上一次发布的状态)。

删除的文件是:

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

答案 1 :(得分:226)

尝试:

        
  1. cd to &lt; workspace&gt; \。metadata \ .plugins \ org.eclipse.core.resources
  2.     
  3. 删除文件 *。snap (或Indigo中的 .markers

答案 2 :(得分:53)

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

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

工作正常,没有涉及任何索引。只有工作,我个人并不介意。

答案 3 :(得分:34)

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

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

答案 4 :(得分:32)

这个适用于我:

另一个,以及更好的解决方法显然有效:

  1. 关闭Eclipse
  2. 在工作区外的某处临时移动违规项目。
  3. 启动Eclipse,等待工作空间加载(应该)。
  4. 再次关闭Eclipse
  5. 将项目移回工作区。
  6. 来源:Eclipse hangs while opening workspace after upgrading to GWT 2.0/Google app engine 1.2.8

答案 5 :(得分:30)

我使用了eclipse -clean -clearPersistedState,这对我有用。

警告:这可能会从工作区中删除所有项目。

答案 6 :(得分:13)

我遇到类似的问题,3.5中的工作空间相当大,没有.snap文件可供查看。 “Windows - &gt; Preferences - &gt; General - &gt;启动和关机 - &gt;启动时刷新工作区”似乎是与工作区相关的设置,因此我无法为导致挂起的工作区更改它。

使用命令行参数-refresh运行eclipse,然后更改设置似乎可以解决问题。

答案 7 :(得分:12)

我也很幸运删除了* .snap文件。我的位置与帖子(下方)中提到的目录不同。

<eclipse workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects

因此,以下unix cmd可以解决这个问题:

find <eclipse_workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects  -name "*.snap" -exec rm -f {} \;

答案 8 :(得分:8)

我尝试了这个帖子中的所有答案,但没有一个对我有效 - 不是快照文件,没有移动项目,没有一个。

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

答案 9 :(得分:5)

由于我在 .metadata.plugins \ org.eclipse.core.resources 文件夹中没有.snao或.prefs文件(在OS X上运行),对我来说诀窍是什么将.project文件夹复制到old.project,启动Eclipse,然后检查

  

Windows - &gt;偏好 - &gt;一般 - &gt;   启动和关机 - &gt;刷新   启动时的工作空间

由matt b提出。之后,我关闭了Eclipse,将文件夹old.projects重命名为.projects,之后一切正常。

答案 10 :(得分:3)

在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

答案 11 :(得分:3)

我这样做了:

  1. cd to .metadata.plugins \ org.eclipse.core.resources
  2. 删除文件.snap
  3. 注意到Progress标签每隔几秒就会做一些事情......似乎卡住了
  4. 退出日食(请勿在此处重新启动,或者您必须重新回到第1步)
  5. 再次打开日食。
  6. 启动eclipse时使用-refresh-clean没有帮助。

答案 12 :(得分:2)

检查您的电视或其他第二台显示器上是否未打开Workspace Launcher。它发生在我身上。症状与描述的问题看起来相同。

答案 13 :(得分:1)

  

Windows - &gt;偏好 - &gt;一般 - &gt;启动和关闭

是否Refresh workspace on startup已检查?

答案 14 :(得分:1)

UFT在安装后导致RDz(基于Eclipse)的问题 即使环境变量到位并具有相应的值,这些建议也可以解决这种情况。

注意:在java上下文中无法识别冲突的应用程序,因为它正在从java支持机制中排除。

  1. 影响:通过Windows注册表编辑器将加载项支持从挂钩到可执行文件的冲突中排除 要求:应用程序必须由EXE文件启动,但Java.exe / Javaw.exe / jpnlauncher.exe除外
  2. <强> 说明

    一个。找到与加载项支持冲突的应用程序的可执行文件名。使用任务管理器或Microsoft Process Explorer。

    湾打开Windows注册表编辑器。

    ℃。导航至:HKEY_LOCAL_MACHINE \ SOFTWARE \ Mercury Interactive \ JavaAgent \ Modules 对于Windows x64上的32位应用程序:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Mercury Interactive \ JavaAgent \ Modules

    d。使用冲突的软件可执行文件名的名称创建一个DWORD值,并将值设置为0.

    Updated Registry

答案 15 :(得分:1)

删除* .snap(我的是* .markers), - clean-data或者移动工作区文件夹似乎都不适用于我。

当我安装并将我的keyborad输入切换到HIME后,我的eclipse停止工作,我回到fctix并且它有效。

答案 16 :(得分:1)

我刚开始使用Eclipse时出现问题。通过删除此文件修复了该问题:

rm org.eclipse.core.resources.prefs

我在.settings中找到了

答案 17 :(得分:0)

我对启动问题的冻结似乎与代理设置有关。我在启动时看到了用户名\密码对话框,但每当我尝试单击“确定”,“取消”或甚至只是单击“离开”对话框时,Eclipse都会冻结。有一段时间,我看到这个身份验证弹出窗口没有冻结问题。

为了解决这个问题,我开始使用不同的工作区进行eclipse,幸好没有冻结我。然后我去了Window --> Preferences --> General --> Network Connections。我编辑了我的HTTP代理条目并取消选中"Requires Authentication"。然后我开始了我原来的问题工作区,这次没有冻结。成功了!

当我重新打开工作区时,我没有进一步的问题,并且能够重新启用身份验证而不会出现问题。我在启动时没有看到用户名\密码弹出,所以当时我的身份验证信息可能是FUBAR。

使用:MyEclipse,版本:2016 CI 7,Build id:14.0.0-20160923

答案 18 :(得分:0)

我做了很多这样的解决方案,但似乎没有一个对我有用。最终 did 的工作是重新启动Mac。咄。我注意到我的jconsole似乎也卡住了,这使我立即开始重新启动,因为它似乎与Java有关,而不是与Eclipse相对。

答案 19 :(得分:0)

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

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

首先从.metadata中删除(将其移动到保存位置)。 eclipse开始全新(我的所有设置都没了)。 然后我一点一点地添加回.metadata目录,直到它再次不起作用。这样我发现我只需要删除这个目录。现在Eclipse开始时我的所有设置仍然存在。

似乎在这个目录中的文件中列出了应该在启动时打开的窗口以及一些如何找不到它们以便它挂起。为什么我不清楚,因为记录中抱怨的文件在我的文件系统上。

答案 20 :(得分:0)

可能会出现JAVA版本:

我尝试了上面给出的几个答案。但这没有用。但是与此同时,在尝试这些操作时,它让我感到震惊,因为我将Java版本切换到其他内容,却忘记了切换回去。

一旦我跳回到以前的版本。 Eclipse开始为我工作。

答案 21 :(得分:0)

在我的情况下,删除工作区的.metadata文件夹。我正在使用Eclipse Luna服务第2版。

答案 22 :(得分:0)

在 GTK3 + Xorg 上这个 bug 也可能导致冻结/死锁

https://bugs.eclipse.org/bugs/show_bug.cgi?id=568859

可以通过使用 Wayland 会话来解决,尽管在我的情况下 Eclipse 由于某种原因未能检测到合理的字体并且看起来像这样:

screenshot

相关:

https://www.reddit.com/r/swaywm/comments/bkzeo7/font_rendering_really_bad_and_rough_in_gtk3/

https://www.reddit.com/r/swaywm/comments/kmd3d1/webkit_gtk_font_rendering_on_wayland/

答案 23 :(得分:0)

嗯,我在X11上开始eclipse时有类似的行为。我忘记在我的腻子中打勾启用X11转发。

答案 24 :(得分:0)

如果您拥有Eclipse 4.5 / 4.6,早于v2.9.0的Eclipse Xtext插件版本以及特定的工作区配置,那么它也可能由this错误引起。

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

答案 25 :(得分:0)

在Ubuntu eclipse -clean -refresh为我工作的Eclipse 3.8.1

答案 26 :(得分:0)

这可能会有所帮助

在日食中,

1)转到帮助

2)点击Eclipse marketplace

3)搜索 - 优化器

安装“eclipse优化器”

enter image description here

答案 27 :(得分:0)

另请参阅http://www.lazylab.org/197/eclipse/eclipse-hanging-on-startup-repair-corrupt-workspace/

99%推荐的解决方案有效......(即删除.snap文件)但是如果它没有用,那么我们必须尝试删除索引文件夹和更多工作台文件夹。

答案 28 :(得分:0)

我在小牛队更新了eclipse之后遇到了类似的问题。最后我发现在eclipse插件目录中,com.google.gdt.eclipse.login jar最后有版本号。我从名称中删除了版本号,一切都很顺利:)

答案 29 :(得分:0)

在我的情况下,类似的症状是由一些流氓git存储库和大量垃圾系统文件引起的。

如上所述,通用补救措施是使用进程监视器来发现有问题的文件。设置以下2行过滤器非常有用:

  • 进程名称 eclipse.exe
  • 进程名称 javaw.exe

答案 30 :(得分:0)

对我有用的是 - 在Ubuntu上

  1. 控制+ F1
  2. ps -e
  3. kill -9 for eclipse,java和adb
  4. 的进程ID

答案 31 :(得分:0)

注意{WORKSPACE-DIR} /.metadata / .plugins文件夹中的零字节.plugin 文件。我刚刚在那里删除了一个,它解决了我的冻结问题。

答案 32 :(得分:0)

无需删除整个元数据文件。只是尝试从工作区文件夹中的org.eclipse.core.resources中删除 .snap 文件

ex. E:\workspaceFolder\.metadata\.plugins\org.eclipse.core.resources

答案 33 :(得分:0)

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

然后把我的机器人插回来。之后,eclipse启动就好了。

答案 34 :(得分:0)

不幸的是,这些解决方案都不适合我。我最终不得不创建一个新工作区,然后将现有项目导入新工作区。不幸的是,这样做会丢失您的偏好(因此,请记住在您更改设置时随时导出设置!)

答案 35 :(得分:0)

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