1. ダウンロードしたEclipseが起動しない
  2. エラーログ
  3. その他


ダウンロードしたEclipseが起動しない

ダウンロードしたEclipseを解凍して、実行すると、以下のエラーダイアログが表示され、Eclipseが起動しません。

メッセージに書かれているログ configuration/1333842017687.log を見ると、以下のようになっていました。

!SESSION 2012-04-08 08:40:17.390 -----------------------------------------------
eclipse.buildId=M20120208-0800
java.version=1.6.0_31
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product

This is a continuation of log file D:\\develop\\eclipse_3.7_ide_for_java\\configuration\\1333842017687.bak_0.log
Created Time: 2012-04-08 08:40:20.968

!ENTRY org.eclipse.equinox.registry 4 0 2012-04-08 08:40:20.968
!MESSAGE Could not parse XML contribution for \"org.eclipse.ui.presentations.r21//plugin.xml\". Any contributed extensions and extension points will be ignored.
!STACK 0
org.xml.sax.SAXException: Could not acquire XML parsing service.
    at org.eclipse.core.internal.registry.ExtensionsParser.parseManifest(ExtensionsParser.java:392)
    at org.eclipse.core.internal.registry.ExtensionRegistry.addContribution(ExtensionRegistry.java:1062)
・・・
・・・

参考.  ”Eclipse Classic 3.7.2”、”Eclipse IDE for Java Developers” の両方でエラーになりました。

これは、以下の対応で解決する可能性があります。(確認したのは Eclipse 3.7.2 Indigo)

  • eclipse.iniの修正

  • Eclipse 3.7.2 (Indigo)の場合、eclipse.ini の中身は以下のようになっていました。

    修正前
    -startup
    plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
    -product
    org.eclipse.epp.package.java.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx384m
    

    この先頭に"-vm" と、 "javaw"のフルパスを追加します。

    修正した eclipse.ini
                        -vm
    C:/Program Files/Java/jdk1.6.0_31/bin/javaw.exe
    -startup
    plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
    -product
    org.eclipse.epp.package.java.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx384m
    
    注. 上記では Java SE Development Kit 6 Update 31 が以下にインストールされていた場合の例です。
    C:/Program Files/Java/jdk1.6.0_31/

    修正して保存したら、次の ”オプション -clean を指定して起動”を行います。 一度正常に起動したら次からはアイコンのダブルクリックで起動するはずです。

    注. 一度エラーが起こると、eclipse.iniを修正して、オプション -clean を指定しての起動を実行しないとエラーは解消されません。

  • オプション -clean を指定して起動

  • Windowsの場合は、コマンドプロンプトを起動させ、Eclipseのフォルダまで移動します。 次に、以下のように、オプション -clean を指定してEclipseを起動します。

    D:\Develop\eclipse_3.7>eclipse -clean
    エラーなしで一度正常に起動したら、次からはオプションの -clean は必要ありません。 アイコンのダブルクリックからも起動するようになります。

エラーログ

条件を変えて起動させたときのエラーログを記録(参考資料)

  • eclipse.iniの修正無しで、コマンドプロンプトからオプション-cleanを付けて起動したときのログ

  • Eclipse 3.7.3 classicで、eclipse.ini を修正せずに、コマンドプロンプトからオプション-cleanを付けて実行した場合のログ。 何回か試してみましたが、コマンドプロンプトからオプション-clean を付けて起動した場合は”An unexpected runtime error has occurred.”が発生しているようです。

    !SESSION 2012-04-08 13:38:07.281 -----------------------------------------------
    eclipse.buildId=M20120208-0800
    java.version=1.6.0_31
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
    Command-line arguments:  -os win32 -ws win32 -arch x86 -clean
    
    !ENTRY org.eclipse.osgi 4 0 2012-04-08 13:38:09.531
    !MESSAGE An unexpected runtime error has occurred.
    !STACK 0
    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
    	at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorHook$ParsingService.createService(EclipseAdaptorHook.java:150)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorHook$ParsingService.getService(EclipseAdaptorHook.java:142)
    ・・・

  • eclipse.iniの修正無しで、アイコンから起動したときのログ

  • 上記のあとに、Eclipse 3.7.3 classicで、eclipse.ini を修正しないまま、アイコンのダブルクリックで実行した場合のログ。 何回か試してみましたが、アイコンからのダブルクリックでは、”Provisioning exception”が発生しているようです。

    !SESSION 2012-04-08 13:42:02.828 -----------------------------------------------
    eclipse.buildId=M20120208-0800
    java.version=1.6.0_31
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
    Command-line arguments:  -os win32 -ws win32 -arch x86
    
    !ENTRY org.eclipse.equinox.p2.core 4 0 2012-04-08 13:42:03.906
    !MESSAGE Provisioning exception
    !STACK 1
    org.eclipse.equinox.p2.core.ProvisionException: Unknown repository type at file:/D:/develop/eclipse_3.7.3_sdk/configuration/org.eclipse.osgi/bundles/84/data/listener_1925729951/.
    	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:393)
    	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:282)
    	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.createRepository(MetadataRepositoryManager.java:41)
    ・・・

  • eclipse.iniを修正してアイコンのダブルクリック

  • Eclipse 3.7.3 classicで、eclipse.ini を修正した後、Eclipseのアイコンのダブルクリックで起動すると、エラーになり、ログは以下になります。

    !SESSION 2012-04-08 13:56:12.468 -----------------------------------------------
    eclipse.buildId=M20120208-0800
    java.version=1.6.0_31
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP
    Command-line arguments:  -os win32 -ws win32 -arch x86
    
    !ENTRY org.eclipse.equinox.p2.core 4 0 2012-04-08 13:56:13.656
    !MESSAGE Provisioning exception
    !STACK 1
    org.eclipse.equinox.p2.core.ProvisionException: Unknown repository type at file:/D:/develop/eclipse_3.7.3_sdk/configuration/org.eclipse.osgi/bundles/84/data/listener_1925729951/.
    	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:393)
    	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:282)
    ・・・

その他

正常に起動したあと、eclipse.ini を元に戻して、再度起動させてもエラーは発生しなくなります。 初回の起動時だけ eclipse.iniに追加したjavawのフルパスが利用されているのか、どれかのファイルに記録されているのか、原因は不明です。

  • Eclipse Classic 3.7.2 のconfiguration/onfig.iniと.settings

  • Eclipse Classic 3.7.2 では、初回の起動成功時に、以下のファイルが作成されていました。

    configuration/.settings/org.eclipse.ui.ide.prefs
    configuration/config.ini

  • Eclipse Classic 3.7.2 のconfiguration/org.eclipse.osgi/bundles ディレクトリ

  • 一度も実行していない場合、configurationディレクトリに、 org.eclipse.core.runtime、org.eclipse.equinox.app、org.eclipse.osgi 、org.eclipse.ui.intro.universal というディレクトリは存在しません。

    eclipse.iniを修正無しで実行して、起動失敗した後に確認すると、以下のようにorg.eclipse.osgi などのディレクトリが作成されています。 また、org.eclipse.osgi/bundles の下に、”57”と”84”ディレクトリが作成されています。

    eclipse.iniを修正して一度正常にEclipseが起動すると、

    configuration/org.eclipse.osgi/bundles/84/data/listener_1925729951/
    の中に、artifacts.jar、content.jar が作られていて、 ”57”、”84”ディレクトリ以外にも、2桁の数字のフォルダが作られていました。