在Ubuntu 12.04中打开eclipse juno时出现错误“不再有句柄…”

时间:2021-04-11 22:20:54

Starting today, every time I open up the eclipse, I got a message box with title "Problem Occured" pops up saying:

从今天开始,每当我打开eclipse时,就会弹出一个标题为“发生问题”的消息框:

No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)] possible args: {0}, {1}, {2}, {3} No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]

不再处理[未知Mozilla路径(MOZILLA_FIVE_HOME未设置)]可能的args:{0}、{1}、{2}、{3}不再处理[未知Mozilla路径(MOZILLA_FIVE_HOME未设置)]

Then I click "OK" and proceed to the workbench, I got another error saying

然后我点击“OK”并继续到工作台,我得到了另一个错误消息

An SWT error has occurred. You are recommended to exit the workbench. Subsequent errors may happen and exit the workbench without warning. See the .log file for more details.

发生SWT错误。建议您退出工作台。可能会发生后续错误并在没有任何警告的情况下退出工作台。有关更多细节,请参见.log文件。

Do you want to exit the workbench? (Yes / No)

您想要退出工作台吗?(是/否)

Then I clicked "Yes" and took a look at the .log file in .metadata. I saw this long stacktrace:

然后我点击“Yes”,查看.metadata中的.log文件。我看到了这个长长的堆栈:

!ENTRY org.eclipse.datatools.sqltools.plan 4 0 2012-08-25 14:28:52.355
!MESSAGE No resource bundle has been set for the LoggerNo more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]".

!ENTRY org.eclipse.datatools.sqltools.plan 4 0 2012-08-25 14:28:52.359
!MESSAGE No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)] possible args: {0}, {1}, {2}, {3}
!STACK 0
org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
    at org.eclipse.swt.SWT.error(SWT.java:4387)
    at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1939)
    at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:699)
    at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
    at org.eclipse.datatools.sqltools.plan.internal.ui.view.GraphicsPlanControl.createDetailForm(GraphicsPlanControl.java:93)
    at org.eclipse.datatools.sqltools.plan.internal.ui.view.GraphicsPlanControl.init(GraphicsPlanControl.java:73)
    at org.eclipse.datatools.sqltools.plan.internal.ui.view.GraphicsPlanControl.<init>(GraphicsPlanControl.java:54)
    at org.eclipse.datatools.sqltools.plan.internal.ui.view.PlanView.createPartControl(PlanView.java:136)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:155)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:300)
    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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:857)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:837)
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:111)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:318)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:889)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:623)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:511)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:496)
    at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:74)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:889)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:623)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1042)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:639)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:635)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:635)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:59)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:635)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:103)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:67)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4291)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:187)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
    at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
    at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
    at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
    at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:57)
    at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
    at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:135)
    at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:1)
    at org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher$13.widgetSelected(PerspectiveSwitcher.java:436)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3554)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3179)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    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:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    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:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
!SESSION 2012-08-25 14:48:17.623 -----------------------------------------------
eclipse.buildId=I20120608-1400
java.version=1.6.0_34
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product

I did hours of Google searching, seeing all different solutions, but they are either too complicated for me to figure out see this, or not work at all.

我做了几个小时的谷歌搜索,看到了所有不同的解,但它们要么太复杂了,我看不出来,要么根本就不管用。

I tried the following:

我试着以下:

  1. edit /etc/environment and add MOZILLA_FIVE_HOME=/usr/lib/firefox, no effect
  2. 编辑/etc/environment并添加MOZILLA_FIVE_HOME=/usr/lib/firefox,没有效果。
  3. edit eclipse.desktop and change Exec=/usr/bin/eclipse/eclipse to Exec=env MOZILLA_FIVE_HOME=/usr/lib/firefox /usr/bin/eclipse/eclipse this time the eclipse will freeze at the start-up.
  4. 编辑eclipsee .desktop并更改Exec=/usr/bin/eclipse/eclipse到Exec=env MOZILLA_FIVE_HOME=/usr/lib/firefox /usr/ usr/bin/eclipse/eclipse这次eclipse在启动时将会冻结。
  5. download a XULRunner-1.9.2.19 from here and set the MOZILLA_FIVE_HOME env variable point to directory where I extract it. I got a new error:
  6. 从这里下载XULRunner-1.9.2.19并将MOZILLA_FIVE_HOME env变量点设置为我提取的目录。我又犯了一个新错误:

ENTRY org.eclipse.datatools.sqltools.plan 4 0 2012-08-25 14:48:25.509

org.eclipse.datatools.sqltools条目。计划4 0 2012-08-25 14:48 - 25.509

!ENTRY org.eclipse.datatools.sqltools.plan 4 0 2012-08-25 14:48:25.509
!MESSAGE No resource bundle has been set for the LoggerNo more handles [MOZILLA_FIVE_HOME='/usr/lib/mozilla-1.9.2'] (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /usr/bin/eclipse/configuration/org.eclipse.osgi/bundles/626/2/.cp/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
    no swt-mozilla-gtk in java.library.path
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk.so
    /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
)".

!ENTRY org.eclipse.datatools.sqltools.plan 4 0 2012-08-25 14:48:25.513
!MESSAGE No more handles [MOZILLA_FIVE_HOME='/usr/lib/mozilla-1.9.2'] (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /usr/bin/eclipse/configuration/org.eclipse.osgi/bundles/626/2/.cp/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
    no swt-mozilla-gtk in java.library.path
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk.so
    /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
) possible args: {0}, {1}, {2}, {3}
!STACK 0
org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME='/usr/lib/mozilla-1.9.2'] (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /usr/bin/eclipse/configuration/org.eclipse.osgi/bundles/626/2/.cp/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
    no swt-mozilla-gtk in java.library.path
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so
    Can't load library: /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk.so
    /home/simon/.swt/lib/linux/x86/libswt-mozilla-gtk-4233.so: libxpcom.so: cannot open shared object file: No such file or directory
)
    at org.eclipse.swt.SWT.error(SWT.java:4387)
    at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1970)

... and then the super long stacktrace

…然后是超长堆栈跟踪

Could anyone please help me figure out how to solve this problem. Thanks.

谁能帮助我解决这个问题吗?谢谢。

2 个解决方案

#1


45  

This just worked for me:

这对我来说很有效:

    sudo apt-get install libwebkitgtk-1.0-0

Relaunch Eclipse. No other downloads or changes were required.

重新启动Eclipse。不需要其他下载或更改。

#2


1  

It's also possible to receive this error if you try to launch the application from a different user than the one that started your X session.

如果您试图从不同于开始X会话的用户启动应用程序,也可能收到此错误。

#1


45  

This just worked for me:

这对我来说很有效:

    sudo apt-get install libwebkitgtk-1.0-0

Relaunch Eclipse. No other downloads or changes were required.

重新启动Eclipse。不需要其他下载或更改。

#2


1  

It's also possible to receive this error if you try to launch the application from a different user than the one that started your X session.

如果您试图从不同于开始X会话的用户启动应用程序,也可能收到此错误。