web-dev-qa-db-ja.com

Ubuntu 12.04でエラー「No more handles…」でEclipse junoを開きます

今日から、Eclipseを開くたびに、「Problem Occured」というタイトルのメッセージボックスが表示されました。

ハンドルなし[不明なMozillaパス(MOZILLA_FIVE_HOMEが設定されていない)]可能な引数:{0}、{1}、{2}、{3}ハンドルなし[不明なMozillaパス(MOZILLA_FIVE_HOMEが設定されていない)]

その後、「OK」をクリックしてワークベンチに進むと、別のエラーが表示されます

SWTエラーが発生しました。ワークベンチを終了することをお勧めします。後続のエラーが発生し、警告なしでワークベンチを終了する場合があります。詳細については、.logファイルを参照してください。

ワークベンチを終了しますか? (はい・いいえ)

次に、「はい」をクリックして、.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

私は何時間もGoogleで検索してさまざまなソリューションを見つけましたが、複雑すぎて理解できない こちらを参照 か、まったく機能しません。

私は次を試しました:

  1. / etc/environmentを編集してMOZILLA_FIVE_HOME=/usr/lib/firefoxを追加しますが、効果はありません
  2. eclipse.desktopを編集し、Exec=/usr/bin/Eclipse/eclipseExec=env MOZILLA_FIVE_HOME=/usr/lib/firefox /usr/bin/Eclipse/eclipseに変更します。今回は、起動時にEclipseがフリーズします。
  3. here からXULRunner-1.9.2.19をダウンロードし、MOZILLA_FIVE_HOME env変数ポイントを抽出先のディレクトリに設定します。新しいエラーが発生しました:

ENTRY org.Eclipse.datatools.sqltools.plan 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)

...そして、超長いスタックトレース

誰でもこの問題を解決する方法を見つけてください。ありがとう。

3
ssgao

Eclipseを起動する前のシェルで:

xulrunnerを見つけます。
Sudo updatedb && locate xulrunner | grep '/usr/lib'

環境変数をエクスポートします。
export MOZILLA_FIVE_HOME=/usr/lib/xulrunner/usr/lib/xulrunner

eclipseを起動します

参照

3
RobotHumans

私の場合はubuntu 16.04で次のコマンドを発行するだけです:

Sudo apt-get install libwebkitgtk-1.0-0
1
Nirmal H