Eclipse启动时卡住了

7

我正在使用Macbook工作时,电池用尽了。现在Eclipse无法启动,卡在“加载工作台”上。底部的堆栈跟踪是在挂起一分钟左右后按下^C得到的。

~/Downloads/eclipse$ ./Eclipse.app/Contents/MacOS/eclipse -clean -debug -consolelog 
Start VM: -Dosgi.requiredJavaVersion=1.5
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.internal.carbon.smallFonts
-clean
-Djava.class.path=/Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-os macosx
-ws carbon
-arch x86
-showsplash
-launcher /Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS/eclipse
-name Eclipse
--launcher.library /Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS//../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731/eclipse_1115.so
-startup /Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-clean
-debug
-consolelog
-vm /System/Library/Frameworks/JavaVM.framework
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.internal.carbon.smallFonts
-clean
-Djava.class.path=/Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar 
Install location:
    file:/Users/admin/Downloads/eclipse/
Configuration file:
    file:/Users/admin/Downloads/eclipse/configuration/config.ini loaded
Configuration location:
    file:/Users/admin/Downloads/eclipse/configuration/
Framework located:
    file:/Users/admin/Downloads/eclipse/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
Framework classpath:
    file:/Users/admin/Downloads/eclipse/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
Splash location:
    /Users/admin/Downloads/eclipse/plugins/org.eclipse.platform_3.3.101.v200902111700/splash.bmp
Debug options:
    file:/Users/admin/Downloads/eclipse/Eclipse.app/Contents/MacOS/.options not found
Time to load bundles: 16
Starting application: 3649
!SESSION 2011-08-30 18:03:17.958 -----------------------------------------------
eclipse.buildId=M20090211-1700
java.version=1.6.0_26
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=carbon, NL=en_US
Command-line arguments:  -os macosx -ws carbon -arch x86 -clean -debug -consolelog

!ENTRY org.eclipse.core.resources 2 10035 2011-08-30 18:03:22.073
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.tigris.subversion.clientadapter.javahl 1 0 2011-08-30 18:03:22.782
!MESSAGE Failed to load JavaHL Library.
These are the errors that were encountered:
no libsvnjavahl-1 in java.library.path
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path
java.library.path = .:/Users/admin/Library/Java/Extensions:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
^C
Exception in thread "Thread-1" org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(SWT.java:3777)
    at org.eclipse.swt.SWT.error(SWT.java:3695)
    at org.eclipse.swt.SWT.error(SWT.java:3666)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:681)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:341)
    at org.eclipse.swt.widgets.Shell.getShells(Shell.java:885)
    at org.eclipse.swt.widgets.Shell.kEventWindowHidden(Shell.java:1213)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2044)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4171)
    at org.eclipse.equinox.launcher.JNIBridge._takedown_splash(Native Method)
    at org.eclipse.equinox.launcher.JNIBridge.takeDownSplash(JNIBridge.java:110)
    at org.eclipse.equinox.launcher.Main.takeDownSplash(Main.java:1863)
    at org.eclipse.equinox.launcher.Main$SplashHandler.run(Main.java:106)

有什么想法吗?如果没有其他建议,我想尝试安装JavaHL。Eclipse经常抱怨它,但以前它总是能启动。


你可以尝试更改你的工作空间或解压一个全新版本的Eclipse。这样,你就会知道是Eclipse安装损坏了还是你的工作空间有问题。 - user684934
1
你的工作空间有多大?Eclipse正在尝试在你按下CTRL-C的同时刷新你的工作空间...一个快速解决方案:只需创建一个新的工作空间;从旧的工作空间中导入所有内容(使用copy=true的“导入现有项目”);然后交换工作空间。 - Tonny Madsen
请查看此处的解决方案:https://dev59.com/D-o6XIcBkEYKwwoYPSL7#13620144。 - Basit Ali
8个回答

14

大多数解决方案会删除或更改元数据,不幸的是,这通常会从项目中删除 SVN 和库信息,这是一个很大的时间损失。

我发现了一个命令行开关(请参见https://bugs.eclipse.org/bugs/show_bug.cgi?id=389738),它清除了任何已保存的状态(打开的窗口等),这通常会导致启动卡顿:-clearPersistedState。

我现在加入了一整套选项:

  • 在终端中,输入<eclipse dir>/eclipse -clean -refresh -debug -consolelog -clearPersistedState
  • 打开引起问题的工作区
  • 等待 eclipse 完全启动并准备好后,关闭它并正常启动它

这总是为我解决了启动问题。


2
使用“eclipse -clean -clearPersistedState”命令可以解决卡在“eclipse -clean”命令无法解决的问题。 - Rarw

13

我在http://off-topic.biz/en/eclipse-hangs-at-startup-showing-only-the-splash-screen/上看到的步骤对我有用:

  1. 进入 .metadata/.plugins 目录。
  2. 将 org.eclipse.core.resources 重命名为 org.eclipse.core.resources.bak。
  3. 启动eclipse(此时会显示错误消息或空工作区,因为没有找到项目)。
  4. 关闭所有打开的编辑器标签。
  5. 退出eclipse。
  6. 删除新创建的 org.eclipse.core.resources 目录,即 rm -rf org.eclipse.core.resources。
  7. 将 org.eclipse.core.resources.bak/ 目录重命名为 org.eclipse.core.resources,即 mv org.eclipse.core.resources.bak/ org.eclipse.core.resources。
  8. 启动eclipse并开始使用。

我也试过了,谢谢! - awinbra
到今天仍然有效,干杯!这种情况已经发生了几次,每次都是在 Debug 视图打开的情况下(从上一次开始)。我确保在退出之前将其留在 Java 视图中(尽管有时会忘记...)。 - edgraaff

4

不需要创建新的工作空间,只需删除位于工作空间文件夹内的.metadata文件夹。这将使您能够加载工作空间,并重新导入所有项目和首选项 - 这将为您节省一些时间。 在执行此操作或重新创建工作空间之前,您还可以检查.log文件(位于该.metadata文件夹中),以获取可能有助于解决问题原因的信息。


这对我的情况有所帮助!查看我的.metadata/.log文件后,发现了以下错误信息:“com.perforce.p4java.exception.AccessException: Perforce password (P4PASSWD) invalid or unset.” 我不知道如何在Zend Studio(又名Eclipse)之外“重置”此密码,但删除.metadata目录使我的Zend Studio(又名Eclipse)能够正常启动,而不会挂起。 - rickumali

2

是的,JavaHL很可能是罪魁祸首,因为安装它解决了问题。但奇怪的是,在此之前Eclipse从未因此原因挂起,但在崩溃后,它却发生了。


0
在一个情况下,我不得不删除文件.metadata/.plugins/org.eclipse.core.resources/11.snap 这个文件是org.eclipse.core.resources文件夹中唯一的非隐藏文件。
这样,工作区中的所有内容都得以保留。

0

我经常遇到这个问题,不确定原因。

删除我的工作区可以解决问题,但我讨厌重新配置所有东西。有一次,当我将我的工作区移动到另一个位置时,启动Eclipse并卸载了一些我不再需要的插件后,我解决了这个问题。然后我删除了新创建的工作区并将旧的工作区移回来。

我想你可以尝试不卸载任何东西,看看是否有帮助。


0

我遇到了同样的问题,如果你点击链接,我会解释我是如何解决的

Eclipse Luna加载调试配置时卡住的问题

看起来在.metadata文件夹中,.Lock文件没有正确关闭,导致Eclipse无法启动工作台。

删除.metadata文件夹,然后重新导入项目,应该可以让它正常工作。


0

正如Tonny在评论中所说,为我创建一个新的工作区解决了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接