当我特意告诉Eclipse使用特定的JDK运行时,为什么Eclipse运行特定的JRE?

时间:2017-11-03 23:09:46

标签: java eclipse windows-7

Windows 7,Eclipse Oxygen 1a。

在命令提示符下,我有以下内容:

>set JAVA_HOME
JAVA_HOME=c:\Program Files\Java\jdk1.8.0_152

在我的eclipse.ini文件中,我将此作为第一行:

-vm C:/Program Files/Java/jdk1.8.0_152/bin/javaw.exe

在C:\ Program Files \ Java中我同时拥有" jdk1.8.0_152"和" jre1.8.0_144"。

当我启动Eclipse时,我在工作区/ .metadata / .log文件的顶部看到以下内容:

eclipse.buildId=4.7.1.M20171009-0410
java.version=1.8.0_144
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -vm C:/Program Files/Java/jdk1.8.0_152/bin/javaw.exe -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -vm C:/Program Files/Java/jdk1.8.0_152/bin/javaw.exe -product org.eclipse.epp.package.java.product

当我用jvisualvm检查过程时,我看到以下内容:

Java: version 1.8.0_144, vendor Oracle Corporation
Java Home: C:\Program Files\Java\jre1.8.0_144

是什么导致Eclipse仍然使用1.8.0_144 JRE?这引起了我的问题,因为我有一个需要从JDK获取tools.jar的Gradle构建。

1 个答案:

答案 0 :(得分:0)

问题是您将它放在.ini文件的FIRST行上。

  

-vm选项必须在其他特定于Eclipse的选项之后发生   (例如-product, - 启动器。*等),但在-vmargs选项之前,   因为-vmargs之后的所有内容都直接传递给JVM。

在此处的“指定JVM”一节中查看此内容和其他建议:https://wiki.eclipse.org/Eclipse.ini