Eclipse起動しなくなったので解決しましたの巻
突然Eclipseが起動しなくなりました。
画面に表示されるエラー内容は以下のとおり。全然身に覚えがありません。
Java was started but returned exit code=13 (略)
ネットで検索したところ、JDKを削除して再インストールしたら解決!とありましたが、原因をちゃんと突き止めてみます。
まず、基本中の基本。ログファイルを見ます。以下にあります。
eclipseインストールディレクトリ/configuration/【数字の羅列】.log
Eclipseが起動しない時はここを見ましょう。
エラーが記録されていました。
!SESSION 2015-02-02 18:43:12.453 ----------------------------------------------- eclipse.buildId=4.3.0.M20130911-1000 java.version=1.8.0_31 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=ja_JP Framework arguments: -d32 -product org.eclipse.epp.package.jee.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -d32 -product org.eclipse.epp.package.jee.product !ENTRY org.eclipse.osgi 4 0 2015-02-02 18:43:13.355 !MESSAGE Application error !STACK 1 java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM at org.eclipse.swt.internal.Library.loadLibrary(Library.java:260) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240) at org.eclipse.swt.internal.C.<clinit>(C.java:21) at org.eclipse.swt.widgets.Display.<clinit>(Display.java:138) at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:675) at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:162) at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
どうやらこれですね。JVMが32ビットのようです(なぜ・・・)
java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM
32ビット版と64ビット版が両方インストールされていて、32ビット版だけアップデートされたために、環境変数上でそちらが有効になったようです。
32ビット版をアンインストールします。
無事に起動するようになりました。