Eclipse 退出并出现错误"JVM terminated..."



每次eclipse关闭时,都会弹出一条错误消息,如下所示:

JVM terminated. Exit code=1
/usr/bin/java
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-jar /home/kaiyin/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
-os linux
-ws gtk
-arch x86_64
-showsplash /home/kaiyin/opt/eclipse//plugins/org.eclipse.platform_4.3.0.v20130605-2000/splash.bmp
-launcher /home/kaiyin/opt/eclipse/eclipse
-name Eclipse
--launcher.library /home/kaiyin/opt/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130521-0416/eclipse_1506.so
-startup /home/kaiyin/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.appendVmargs
-exitdata 1f60014
-product org.eclipse.epp.package.standard.product
-vm /usr/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-jar /home/kaiyin/opt/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar 

我在kubuntu 13.04机器上运行它,它是从官方网站(而不是ubuntu存储库)安装的,这里是版本信息:

Version: Kepler Release
Build id: 20130614-0229

Java版本:

java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

当eclipse的bitness与java安装的bitness不匹配时,我看到了这种情况。看起来您拥有eclipse的64位版本。

如果你运行java -version,它会说这样的话吗:

paulw@desktop:~$ java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

如果你使用的是linux版本,可能是ubuntu或其他版本,如果你遇到这样的问题,我希望这个解决方案能帮助你。

首先:打开eclipse.ini,找到-startup jar文件,run java -jar ***.jar,如果有错误,可以转到configuration folder,找到最新的日志文件。

第二个:读取日志文件,也许您可以看到这些日志:

!SESSION 2016-11-14 10:41:29.823 -----------------------------------------------
eclipse.buildId=4.7.0.I20161027-0700
java.version=1.7.0_79
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
This is a continuation of log file /home/crabime/Documents/eclipse/configuration/1479091290264.bak_1.log
Created Time: 2016-11-14 10:41:40.161
!ENTRY org.eclipse.wst.jsdt.js.npm 2 0 2016-11-14 10:41:40.161
!MESSAGE Could not resolve module: org.eclipse.wst.jsdt.js.npm [857]
  Unresolved requirement: Require-Bundle: org.eclipse.ui
    -> Bundle-SymbolicName: org.eclipse.ui; bundle-version="3.109.0.v20161017-1617"; singleton:="true"
       org.eclipse.ui [773]
         Unresolved requirement: Require-Bundle: org.eclipse.jface; bundle-version="[3.10.100,4.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.jface; bundle-version="3.13.0.v20161022-1508"; singleton:="true"
              org.eclipse.jface [407]
                Unresolved requirement: Require-Bundle: org.eclipse.swt; bundle-version="[3.104.0,4.0.0)"; visibility:="reexport"
                  -> Bundle-SymbolicName: org.eclipse.swt; bundle-version="3.106.0.v20161027-0130"; singleton:="true"
                     org.eclipse.swt [760]                   
                        Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))"

你可以看到最后一行,required jdk version is 1.8,所以无论你把vmargs requiredJavaVersion改成1.7还是其他,都没有意义。

第三:如果你认为第二种方式太复杂,你也可以阅读readme文件夹下的readme.html。在这里我发现了一些有用的东西:

一般来说,Eclipse项目的4.6版本是在Java SE 8虚拟机上开发的。因此,Eclipse SDK作为一个整体是针对所有现代桌面Java虚拟机的。

我的eclipse版本是4.7,您可以从第二个日志文件中看到,所以without other entry and download jdk 1.8

我从Oracle站点下载了*.gz而不是*.rpm。我使用的是jdk版本7u40 64位。在这个问题消失之后。

这个问题主要发生在eclipse使用的默认jdk有些问题。所以最好手动下载包并设置环境变量详细信息可以在这里找到

最新更新