久しぶりに Minecraft の Modding をする為に Eclipse を起動しようとしたが起動しない。
インターネットさんの力を借りて、なんとか解決したので備忘録がてらに載せます。

著者の環境は Windows 7 なので、この記事は Windows での解決方法になります。

SPONSERD LINK

原因

前回、正常に起動した時から特に Eclipse の設定を変えた覚えがないのだが…。

そういえば、最近、Java(JRE)をアップデートしたのを思い出した。
Java(JRE)のアップデーターから「過去にインストールした JRE は、セキュリティに問題があるのでさっさとアンインストールしろや!」と促され、なすがままアンインストールした記憶が蘇る。

インターネットを調べると Java(JRE)のアップデートにより、Eclipse の起動に必要な JVM のあるパスが変わってしまったり、そもそも新しいバージョンの JVM が使用しているバージョンの Eclipse に対応しておらず、Eclipse の起動に失敗することがあるらしい。

eclipse.ini の修正

Eclipse の起動時に読み込まれるファイル eclipse.ini に JVM のパスを設定するオプションを入力することで無事に Eclipse を再び正常に起動することができた。

C ドライブ直下に Eclipse をインストールした場合は、

C:\eclipse\eclipse.ini

Pleiades に含まれる Eclipse の場合は、

C:\pleiades\eclipse\eclipse.ini

eclipse.ini がある。

eclipse.ini をメモ帳などのテキストエディタで開き、先頭に下記の 2 行を追加する。

-vm
『JREのパス』\bin\javaw.exe
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms2g
-Xmx2g
-Xverify:none
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

著者は、 Minecraft の Modding で使用している古いバージョンの JDK に含まれる JVM のパスを指定している。

-vm
C:\Program Files\Java\jdk1.7.0_71\bin\javaw.exe
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms2g
-Xmx2g
-Xverify:none
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

ちなみにパスにスペースが含まれるからといってコマンドラインにコマンドを渡す時のようにパスを "(ダブルクォーテーション)で囲むと Eclipse が起動しないので注意が必要だ!
著者は、余計なことをして小一時間苦しんでいたらしいですぞ!

Eclipse に対応した JRE がインストールされていない

そもそも Java(JRE)のアップデーターに古い JRE をアンインストールされてしまい、Eclipse に対応した JVM がない場合は、対応したバージョンの JDK に含まれた JVM を使用する。
JDK に含まれる JVM は、今のところ Java(JRE)のアップデーターによって消されることはないようだ。

過去のバージョンの JDK をインストールするには、こちらの記事を参照して下さい。

Eclipse を起動する

eclipse.ini を編集し、上書き保存したら eclipse.exe を起動する。
無事に Eclipse が起動されれば、Eclipse に正しく JVM のパスを設定できています。
お疲れ様でした!

起動しない場合は、eclipse.ini に入力した JVM のパスが正しいか確認する。

または、パスを "(ダブルクォーテーション)で囲んでいないか確認する。(戒め)

後日談

時期がうろ覚えなのだけど、その後(おそらく2015年6月上旬)の Java(JRE)のアップデートで特に eclipse.ini を編集しなくても、Eclipse が正常に起動できるようになった。
過去のバージョンの Eclipse や Pleiades に含まれる Eclipse の起動も試してみたがどれも正常に起動した。著者が起動を試したバージョンは Ingio(3.7)~ Mars(4.5)です。
Java(JRE)のアップデートで 最新バージョンの JVM が Eclipse に対応したということだろうか?

しかし、今後のアップデートでどうなるか分からないので、この記事は残しておくよ!