16
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Eclipseを更新したら起動しなくなった(Pleiades)

Last updated at Posted at 2022-09-22

概要

PleiadesのEclipseを日頃から使っています。

通常Java開発で使用しているのは「Java」の「Full Edition」ですが、使用しているEclipseの「ヘルプ」-「更新の確認」から定期的にEclipse自体のアップデートをしています。

image.png

最近、この「更新」をしたところ、Eclipseがスプラッシュ画面さえ出ず、起動しなくなるという状況になりました。
タスクマネージャでもEclipseのプロセスが起動している状況でもなく、とにかくいくら起動しようとしても何もおきない状況に陥ります。

Eclipseの起動ログを見ても、それらしいエラーが記載されておらず、ちょっとややこしい感じになったかな?と情報を集めてみました。

この現象は、WindowsでもmacOSでも、どちらでも発生しています。

Eclipseの起動ログを確認する方法

Eclipseの起動ログは、Eclipseの「workspace」フォルダ内の「.metadata」内にある「.log」に出力されます。

image.png

WindowsでもmacOSでも、どちらも同じです。

2022-09.20220914では解消している?

9/22時点でPleiadesではEclipseが更新配布されています。

image.png

このバージョンでは、「更新の確認」をしても、現時点では「更新個数ゼロ」なので、現象は起きませんが、今まで使ってきたバージョンや環境を「修正できるなら修正して使いたい」という人向けに以降は記載してます。

Eclipse環境をクリーンインストールしてやるぜ!という人は頑張ってください。

起動ログに出ないならコンソールから起動してメッセージを確認する

「eclipse.exe」をクリックして起動するのではなく、コマンドプロンプト等から起動することでコンソールにメッセージが表示されるので、ここから探ります。

★なお、「eclipse.exe」ではなく「eclipsec.exe」を起動します。

まずコンソールを起動します。
image.png

image.png

続いて、「eclipsec.exe」のあるフォルダへ移動します。
image.png

「eclipsec.exe」を起動します。
image.png

C:\pleiades\2022-06\eclipse>eclipsec.exe
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Error occurred during initialization of VM
Multiple garbage collectors selected

なんか表示されましたね・・・・
OpenJDKほにゃらら・・・は、warningなので無視します。
エラー内容は「Error occurred during initialization of VM」ですね。
エラー原因は「Multiple garbage collectors selected」です。

ふむ、ということは「eclipse.ini」内の設定値に原因がありそうです。
それでは、eclipse.iniを確認してみます。

20220619版の初期状態でのeclipse.iniは下記のようになっています。

eclipse.ini(pleiades-2022-06-java-win-64bit-jre_20220619)
-vm
C:/pleiades/2022-06/java/17/bin
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
-Dsun.java.command=Eclipse
--add-modules=ALL-SYSTEM
--add-opens=java.base/java.lang=ALL-UNNAMED
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=false
-XX:+UseParallelGC
-XX:InitialRAMPercentage=5
-XX:MaxRAMPercentage=25
-XX:TieredStopAtLevel=1
-Xverify:none
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
-javaagent:lombok.jar

「更新の確認」を実行すると下記のようになります。

eclipse.ini
-vm
C:/pleiades/2022-06/java/17/bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.600.v20220720-1916
-product
org.eclipse.epp.package.java.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
--add-opens=java.base/java.lang=ALL-UNNAMED
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=false
-XX:+UseParallelGC
-XX:InitialRAMPercentage=5
-XX:MaxRAMPercentage=25
-XX:TieredStopAtLevel=1
-Xverify:none
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
-javaagent:lombok.jar
-Dosgi.requiredJavaVersion=17
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM

エラー内容の「Multiple garbage collectors selected」という視点で見てみると、確かに更新後は2個の設定値が見受けられます。

-XX:+UseParallelGC
-XX:+UseG1GC

起動しない原因はeclipse.ini内の「-XX:+UseG1GC」

ということで、初期状態にあったガベージコレクターの設定値を採用することとし、「-XX:+UseG1GC」を削除することにします。

-XX:+UseG1GC

上記の1行を削除したらeclipse.iniを保存してEclipseを起動します。

下記のようなことを確認されるので、「続行」で進めます。
image.png

これで、無事Eclipseが起動するようになりました。

16
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?