Eclipse Europa for J2EEが起動できない時の対処法
Java統合開発環境の最新版Eclipse Europaを使用していますか?2007年6月29日にリリースされて、そろそろ1年がたとうとしています。昨年の11月頃に仕事の都合でインストールした時には、PCのスペックのせいかout of memoryが頻発してしまい、とても使用できる状況ではありませんでした。早くて5分、遅くとも30分以内にEclipseがエラー終了してしまうのです。
今回仕事で使用しているPCのメモリが2GBになったので、改めてインストールしてみました。結果的には安定して動作するようになったのですが、インストールして即動作というわけにはいきませんでした。遭遇したトラブルへの対処法とその顛末を記しておきます。
環境
まず現象が起きた私のPC環境です。
OS | Windows XP SP2 |
---|---|
CPU | Pentium(R) 4 CPU 2.80GHz |
メモリ | 1.99 GB RAM |
jdk | 1.4.2.03 1.4.2.16 1.5.0.13(JAVA_HOME) 1.6.0.03 |
現象
ダブルクリックすると以下のようなエラーメッセージが表示されてEclipseが起動しません。(画像をクリックすると拡大表示されます。)
昨年インストールした時は、起動までは順調でしたが、作業を始めるとしばらくしてEclipseが落ちてしまう、という現象でした。しかし、今回はスプラッシュ画面も表示されませんし、ログも出力されていませんでした。
最終的な対策にたどりつくまでにいくつかの対策を試しました。まず、起動前にPleiades*1という プラグインの設定をしていたので、デフォルトの設定ファイルに戻しました。その上でメモリの指定を変更したり、JDKのバージョンを変えてみたりとしたのですが、現象は変わりませんでした。
対処法
「Eclipse 起動しない」や「Eclipse JVM terminated. Exit code=-1」といったキーワードで検索したとろころ、同じ現象にぶつかっている人が多くいるようで、解決策もいくつか見つけることができました。その中から、実際に私の環境で効果があったもの、自分で試してみてうまくいったものを以下に記載します。
- Eclipse -vm “C:Program FilesJavajre1.6.0_04binjavaw.exe” と起動引数を指定してjavaw.exeを使用するよう変更する。
- Eclipse_HOMEのeclipse.iniファイルの-Xmx512mを-Xmx256mに変更する。
- Eclipse_HOMEのeclipse.iniファイルの-vmargs、-Dosgi.requiredJavaVersion=1.5、-Xms40m、-Xmx512mの4行を削除する。
ちなみに、1の起動引数を指定する方法をとる場合、eclipse.exeのショートカットを作成してリンク先に引数を指定することで毎回同じ引数で起動することができます。
原因調査
どうして動かないのか、先輩のkoreadaysさん、ナカニシさんに協力してもらって色々と調査しました。 以下に試したこと一覧を記載します。PCは3台使用していて、自分のPC、koreadaysさんのPC、VistaがインストールされているLet’s note(共用PC)です。
orifu | koreadays | let’s note | |
---|---|---|---|
新しくEclipse EuropaをDLして起動 | × | ○ | ○ |
対処法1 | ○ | ○ | ○ |
対処法2 | ○ | ○ | ○ |
対処法3 | ○ | ○ | ○ |
JAVA_HOMEを1.6.03に変える | × | ○ | – |
JAVA_HOMEを1.5系に変える | × | ○ | – |
JAVA_HOMEを1.4系に変える | × エラーメッセージ無 |
× エラーメッセージ有 |
– |
pathからjava以外を削除 | × | ○ | – |
JAVA_HOMEを1.6.03に変える (pathからjava以外を削除) |
× | ○ | – |
JAVA_HOMEを1.5系に変える (pathからjava以外を削除) |
× | ○ | – |
JAVA_HOMEを1.4系に変える (pathからjava以外を削除) |
× エラーメッセージ有 |
× エラーメッセージ有 |
– |
このような結果になりました(-の項目は試していません。おそらくJDK1.4関連以外は起動するでしょう。)。結局、koreadaysさんのPCとLet’s noteでは起動しない現象が確認できませんでした。参考として使用したPCのスペックも記載しておきます。
orifu | koreadays | Let’s note | |
---|---|---|---|
OS | Windows XP SP2 | Windows XP SP2 | Windows Vista Business |
CPU | Pentium(R) 4 CPU 2.80GHz |
Pentium(R) 4 CPU 2.80GHz |
Intel(R) Core(TM)2 CPU 1.07GHz |
メモリ | 1.99 GB RAM | 1.99 GB RAM | 1014MB |
jdk | 1.4.2.03 1.4.2.16 1.5.0.13(JAVA_HOME) 1.6.0.03 |
1.5.0.08 1.6.0.03(JAVA_HOME) |
1.5.0.14(JAVA_HOME) |
Eclipse Europaは動作するためにJAVA 1.5以上のJDKが必要です。そのため、JAVA_HOMEのJDKが1.5未満の場合、起動時に1.5以上が必要な旨を表示するメッセージが出ます。しかし、私の環境ではJAVA_HOMEをJDK1.4に変えてもメッセージが表示されませんでした。そこで、追加した覚えが全く無く、名前に「JAVA」と入っているという理由だけですが、藁にもすがる思いでQTJAVAという環境変数を削除してみました。すると、エラーメッセージが表示されるようになったのです。
環境変数QTJAVAがトラブルの原因か、と疑ったのですが環境変数を削除している状態でJAVA_HOMEをJDK1.5に変えても起動時に表示されるあのエラーメッセージは変化しませんでした。 QTJAVAは無罪でした。*2
まとめ
いつのバージョンからかEclipseがjvm.dllを使用して動作するようになっており、そのことが原因で起動していないようです。確かに、Eclipse3.2を自分の環境で動かすとタスクマネージャのプロセスにeclipse.exeとjavaw.exeの二つが起動します。それに対してEclipse Europaではeclipse.exe
のみとなることから、jvm.dllを使用していることがわかります。
かなり時間をかけて、また先輩方にも協力していただき調査したにもかかわらず、原因の究明には至りませんでした。ですが、対処方法としてはおそらく適切なものが見つけられました(実際に今はEclipse Europa for J2EEで快適に仕事をしています)。私の仕事はEclipse Europaを道具として使い開発作業を行うことであって、EclipseあるいはJAVAのトラブルシューティングをすることではないので、これ以上時間を費やすわけにもいきません。残念ではありますがこの件に関してはここらで終了です。
参考サイト: ばかの一つ覚え。 > 2008-01-17 WEBアプリ開発 -個人的な技術メモ- > Eclipse起動エラー「JVM terminated. Exit code=-1」
- *1:Pleiades http://mergedoc.sourceforge.jp/
- プラグインを日本語化するプラグイン。Eclipse実行時にメモリ上でEclipse本体と150以上のプラグインを日本語化する。
- *2:QTJAVA 本件では無罪でしたが、どうやらiTunesをインストールすると追加されるQuickTime用の環境変数のようで、いくつかのJAVAアプリケーションが動かなくなったという報告を見つけました。完全に「シロ」ではないようです。