Eclipseを更新したら起動しなくなった（Pleiades）

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

https://mergedoc.osdn.jp/

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/54a60213-63da-cb7a-866b-7344e1b42137.png)

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

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

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/1e3a2681-1320-ce73-3a6a-b34227fee8ae.png)

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

## 2022-09.20220914では解消している？
9/22時点でPleiadesではEclipseが更新配布されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/4116725a-e045-fbca-8553-af64d91b671b.png)

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

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

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

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

まずコンソールを起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/419c655f-3d39-5126-bcac-9ae88bb1de64.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/2c8ef307-7887-fb3d-bf22-30b5c2091868.png)

続いて、「eclipsec.exe」のあるフォルダへ移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/60416569-9967-b8c0-a6db-df2a6c526dab.png)

「eclipsec.exe」を起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/b80f1ea1-2541-3c8c-9592-7a2a7dd7d80b.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」を削除することにします。
```diff
-XX:+UseG1GC
```

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

下記のようなことを確認されるので、「続行」で進めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/ac672b5c-0b46-24ea-616a-4935d4e81ed4.png)

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