Linux版EclipseとDarkest Dark Themeは相性がわるいみたい!

Linux版EclipseにDarkest Dark Themeプラグインを入れていたのですが、立ち上げるとフリーズすることがしばしばありました。

Linux版EclipseとDarkest Dark Themeは、どうやら相性がわるいみたいです。

Linux版STS3でも同じ現象が起こりました。
WindowsでDarkest Dark Themeを使っていましたが、フリーズするようなことはありませんでした。

Eclipse内で設定できるダークテーマはあまり好みではないのですが、今回Darkest Dark Themeをアンインストールすることにしました。

Darkest Dark Themeのアンインストール

  • ヘルプ>Eclipseマーケットプレイスをクリックします。

  • インストール済みタブをクリックします。

  • インストールされたDarkest Dark Themeをアンインストールします。

Eclipseが立ち上がらない

Darkest Dark Themeをアンインストール後、Eclipseを再起動すると、今度はEclipseが立ち上がらなくなりました。

ログにはこのようなエラーメッセージが書かれていました。

!SESSION 2020-05-17 13:02:27.213 -----------------------------------------------
eclipse.buildId=4.11.0.I20190307-0500
java.version=1.8.0_252
java.vendor=Private Build
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ja_JP
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.ui.ide 4 4 2020-05-17 13:02:30.338
!MESSAGE Error opening Welcome dialog

!ENTRY org.eclipse.ui.ide 4 0 2020-05-17 13:02:30.340
!MESSAGE 
!STACK 0
java.lang.NullPointerException
    at org.eclipse.ui.internal.ide.application.IDEApplication.showCustomDialog(IDEApplication.java:622)
    at org.eclipse.ui.internal.ide.application.IDEApplication.promptForWorkspace(IDEApplication.java:355)
    at org.eclipse.ui.internal.ide.application.IDEApplication.checkInstanceLocation(IDEApplication.java:282)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:145)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1449)

!ENTRY org.eclipse.osgi 4 0 2020-05-17 13:02:30.537
!MESSAGE アプリケーション・エラー
!STACK 1
java.lang.NoSuchFieldError: useReplacementIcons
    at org.eclipse.swt.widgets.Control.<init>(Control.java:160)
    at org.eclipse.swt.widgets.Label.<init>(Label.java:99)
    at org.eclipse.jface.dialogs.IconAndMessageDialog.createMessageArea(IconAndMessageDialog.java:91)
    at org.eclipse.jface.dialogs.MessageDialog.createDialogArea(MessageDialog.java:313)
    at org.eclipse.jface.dialogs.IconAndMessageDialog.createDialogAndButtonArea(IconAndMessageDialog.java:227)
    at org.eclipse.jface.dialogs.IconAndMessageDialog.createContents(IconAndMessageDialog.java:206)
    at org.eclipse.jface.window.Window.create(Window.java:431)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1099)
    at org.eclipse.jface.window.Window.open(Window.java:788)
    at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:394)
    at org.eclipse.jface.dialogs.MessageDialog.openError(MessageDialog.java:480)
    at org.eclipse.ui.internal.ide.application.IDEApplication.showCustomDialog(IDEApplication.java:631)
    at org.eclipse.ui.internal.ide.application.IDEApplication.promptForWorkspace(IDEApplication.java:355)
    at org.eclipse.ui.internal.ide.application.IDEApplication.checkInstanceLocation(IDEApplication.java:282)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:145)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1449)

Pleiadesのキャッシュ削除

エラーメッセージから原因を探していると、プラグインのインストールやアンインストールをした際に同じようなエラーが出ていることが分かりました。

参考にさせていただいたのは、下記のサイトです。TOBY SOFTさんありがとうございます。

ということで、日本語プラグインPleiadesのキャッシュを削除します。

sudo rm -r /opt/eclipse/configuration/jp.sourceforge.mergedoc.pleiades

キャッシュを削除後、再度Eclipseを起動すると、Eclipseが起動してくれました。

まとめ

Ubuntuのバージョンにもよると思いますが、私の環境(私はUbuntu 18.04 LTSを使っています)では、Linux版EclipseではDarkest Dark Themeは使わない方が良さそうです。

Eclipseがフリーズするようなことが頻繁に起こるなら、プラグインを疑ってみるのもいいかもしれません。

最後までお読み頂きありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です