为什么 Eclipse 运行 是一个特定的 JRE,而我用特定的 JDK 专门告诉它 运行?

Why is Eclipse running with a particular JRE when I'm specifically telling it to run with a particular JDK?

Windows 7、日食氧气 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 时,我在 workspace/.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?这给我带来了一个问题,因为我有一个 Gradle 构建需要从 JDK.

中获取 tools.jar

问题是您将其放在 .ini 文件的第一行。

The -vm option must occur after the other Eclipse-specific options (such as -product, --launcher.*, etc), but before the -vmargs option, since everything after -vmargs is passed directly to the JVM.

在此处指定 JVM 部分检查此建议和其他建议:https://wiki.eclipse.org/Eclipse.ini