Cannot load 64-bit SWT libraries on 32-bit JVM解决方案

问题描述:

今天在windows下使用Eclipse时,发现运行不了Eclipse。怎么都运行不了,笔者是windows 8.1 (X64)的系统,windows的Eclipse好久没有使用了,开始怀疑可能是兼容性的问题,用了管理员模式和兼容性模式发现还是都还是不能运行。

解决办法:

突然想起来Eclipse里面有日志文件,以前都没怎么研究过日志文件,这个时候就可以发现日志文件的重要性了。
打开Eclipse文件夹下面的configuration文件夹:
Cannot load 64-bit SWT libraries on 32-bit JVM解决方案_第1张图片
这里可以从图片上看到很多log文件,log文件就是这里的日志文件。
打开最上面的那个log文件:就可以看到里面的错误描述。

错误描述:

eclipse.buildId=M20130204-1200
java.version=1.8.0_31
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments:  -product com.android.ide.eclipse.adt.package.adtproduct
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product com.android.ide.eclipse.adt.package.adtproduct

!ENTRY org.eclipse.osgi 4 0 2015-02-15 14:17:51.101
!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:653)
    at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
    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:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    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:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

然后发现这里面最主要的错误就是

Cannot load 64-bit SWT libraries on 32-bit JVM

发现这个错误之后,突然想起之前好像安装了一个有关jre的软件,可能是那个软件导致的。

解决方案:

根据那个错误,我推断应该是jre软件配置错误,可能安装了一个32位的jre,所以去java官网 重新下载了一个64位的jre:
Cannot load 64-bit SWT libraries on 32-bit JVM解决方案_第2张图片
然后直接安装,安装完成后,发现Eclipse已经能够运行了,问题解决。

问题收获:

  1. 要加强利用日志中的错误信息,第一次去查日志文件,对于解决一些错误很有帮助。
  2. 充分的利用网络资源,来解决自己的问题。
  3. 逐渐提升自己分析问题和解决问题的能力。

你可能感兴趣的:(java,eclipse,解决方案)