2

嗨,我在 Win XP 上运行 Eclipse Helios。
当我今天启动它时,我收到一条消息,告诉我 Eclipse 无法启动。

这是生成的日志文件的内容:

!SESSION 2011-03-24 19:28:51.296 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_22
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=iw_IL
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


!ENTRY org.eclipse.core.resources 2 10035 2011-03-24 19:28:52.609
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.ui.workbench 4 0 2011-03-24 19:29:02.281
!MESSAGE Widget disposed too early!
!STACK 0
java.lang.RuntimeException: Widget disposed too early!
    at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:172)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:123)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:808)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:811)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:811)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:811)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:167)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:773)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1267)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.dispose(Widget.java:446)
    at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)
    at org.eclipse.swt.widgets.Shell.dispose(Shell.java:714)
    at org.eclipse.jface.window.Window.close(Window.java:335)
    at org.eclipse.jface.window.ApplicationWindow.close(ApplicationWindow.java:307)
    at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1735)
    at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:734)
    at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710)
    at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:824)
    at org.eclipse.ui.internal.Workbench$65.runWithException(Workbench.java:3639)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
    at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)


!ENTRY org.eclipse.osgi 4 0 2011-03-24 19:29:02.812
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles
    at org.eclipse.swt.SWT.error(SWT.java:4109)
    at org.eclipse.swt.SWT.error(SWT.java:3998)
    at org.eclipse.swt.SWT.error(SWT.java:3969)
    at org.eclipse.swt.internal.ImageList.copyWithAlpha(ImageList.java:175)
    at org.eclipse.swt.internal.ImageList.set(ImageList.java:405)
    at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
    at org.eclipse.swt.widgets.ToolItem.updateImages(ToolItem.java:935)
    at org.eclipse.swt.widgets.ToolItem.setImage(ToolItem.java:708)
    at org.eclipse.ui.internal.PerspectiveBarContributionItem.fill(PerspectiveBarContributionItem.java:87)
    at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:353)
    at org.eclipse.ui.internal.PerspectiveBarManager.addItem(PerspectiveBarManager.java:189)
    at org.eclipse.ui.internal.PerspectiveSwitcher.addPerspectiveShortcut(PerspectiveSwitcher.java:262)
    at org.eclipse.ui.internal.PerspectiveSwitcher.access$1(PerspectiveSwitcher.java:254)
    at org.eclipse.ui.internal.PerspectiveSwitcher$ChangeListener.perspectiveOpened(PerspectiveSwitcher.java:163)
    at org.eclipse.ui.internal.PerspectiveListenerList$7.run(PerspectiveListenerList.java:192)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.runtime.Platform.run(Platform.java:888)
    at org.eclipse.ui.internal.PerspectiveListenerList.fireEvent(PerspectiveListenerList.java:58)
    at org.eclipse.ui.internal.PerspectiveListenerList.firePerspectiveOpened(PerspectiveListenerList.java:190)
    at org.eclipse.ui.internal.WorkbenchWindow.firePerspectiveOpened(WorkbenchWindow.java:1499)
    at org.eclipse.ui.internal.WorkbenchPage$17.runWithException(WorkbenchPage.java:3222)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
    at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)

知道如何解决吗?

谢谢

Avishay

4

5 回答 5

2

此问题出现在 XUL Runner 运行时环境版本高于 1.9.0.x 时,例如版本 1.9.1。

您可以通过运行以下命令来确定 XUL Runner 运行时环境的配置版本:

xulrunner -v

编辑eclipse.ini文件。找到该-vmargs行并添加一个新行以使用以下语法指定 XUL Runner 运行时环境的版本:

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.x.x
于 2012-09-12T18:20:57.010 回答
1

对我来说,增加--launcher.XXMaxPermSize 256m工作。一旦 Eclipse 加载了许多插件和功能,就会出现此问题,因为 Eclipse 在启动期间加载这些新插件/功能时需要额外的空间。512meclipse.ini

于 2012-08-01T16:34:02.837 回答
0

所有报告此类消息的错误(如错误 260772错误 239681)都提到XulRunner:您最近不会安装它吗?

Eclipse/SWT 3.4 支持任何 mozilla/seamonkey/xulrunner/firefox-iff-dynamically-linked >= mozilla 1.4。

从 FireFox3 开始,FireFox 附带了一个私有的 xulrunner 供其使用,但这并不是一个完整的安装,浏览器可以独立于它附带的 FireFox 来指向。
但是,如果 FireFox 是动态链接的,那么浏览器可以使用它(FireFox),并且 FireFox 使用私有 xulrunner 来完成其工作的事实只是浏览器不知道/关心的实现细节关于。

如果您安装了 xulrunner 1.9~b5+nobinonly-0ubuntu3 - 那么 Eclipse 3.4 不起作用 - 您安装或卸载的 FireFox 版本似乎并不重要


另一个原因与一些工作空间损坏有关,这可能解释了 OP balderman评论的原因:

我找到了一种通过注释掉以下行来启动 Eclipse 的方法:RECENT_WORKSPACES=bla bla在文件中org.eclipse.ui.ide.prefs:作为问题“如何在 RAD 中删除过时的工作区? ”,实际上并没有删除工作区,但允许跳过可能有某种类型的工作区的腐败问题。

于 2011-03-24T17:52:30.803 回答
0

你得到:

org.eclipse.swt.SWTError: No more handles

每次开始?这意味着 Eclipse 正在耗尽操作系统资源,您是否打开了许多其他应用程序?尝试关闭您正在运行的其他一些应用程序。

如果您没有运行许多其他应用程序,您可能需要考虑查看 sleak,监控处理 eclipse 和 eclipse RCP 使用情况的 eclipse 插件。

您是在运行普通的 Eclipse,还是安装了许多插件?如果香草 Eclipse 的句柄用完了,我会感到非常惊讶……这更有可能是由插件引起的(无论如何,根据我的经验)。

于 2011-03-24T20:28:47.840 回答
-3
  1. 备份“..\.metadata.plugins\org.eclipse.core.resources”forler
  2. 空的“..\.metadata.plugins\org.eclipse.core.resources\.safetable\org.eclipse.core.resources”文件
  3. 运行 Flex。您的项目列表将为空
  4. 关闭 Flex
  5. 恢复“..\.metadata.plugins\org.eclipse.core.resources”文件夹(全部覆盖)
  6. 运行 Flex。
于 2014-01-11T07:18:47.227 回答