更新:
(为了更加明确)
您可以在Oracle官网上找到JRE 8、JRE 9和JRE 10(点击每个链接),但是JRE 11在哪里?!
此外,JDK 11不包括JRE。我原本以为JRE会随着JDK一起安装。
我们应用程序的最终用户需要安装JDK吗?
问题的原始版本:
我从官方网站下载并安装了Oracle JDK 11. 我在Linux机器上安装了 ..._linux-x64_bin.rpm
,在Windows机器上安装了..._windows-x64_bin.exe
。但我看到了一个意料之外的东西! JRE在哪里?
这是CentOS 7上的安装路径快照。正如您所看到的,没有jre
文件夹:
# ls /usr/java/jdk-11.0.1/
bin conf include jmods legal lib README.html release
关于 Oracle JDK 8 的相同快照(特别是参见 jre
文件夹):
# ls /usr/java/jdk1.8.0_191-amd64/
bin lib src.zip
COPYRIGHT LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt
include man THIRDPARTYLICENSEREADME.txt
javafx-src.zip README.html
jre release
在Windows机器上相同的快照:
> dir /b "C:\Program Files\Java\jdk-11.0.1"
bin
conf
COPYRIGHT
include
jmods
legal
lib
README.html
release
> dir /b "C:\Program Files\Java\jdk1.8.0_181"
bin
COPYRIGHT
include
javafx-src.zip
jre
lib
LICENSE
README.html
release
src.zip
THIRDPARTYLICENSEREADME-JAVAFX.txt
THIRDPARTYLICENSEREADME.txt
在 Windows 机器上,JDK 8 和 JDK 11 之间还有另外两个区别。
就像你看到的那样,在
JDK
旁边还有一个独立的JRE
:> dir /b "C:\Program Files\Java" jdk-11.0.1 jdk1.8.0_181 jre1.8.0_181
在路径
C:\Program Files (x86)\Common Files\Oracle\Java
中:
> dir "C:\Program Files (x86)\Common Files\Oracle\Java"
...
... 14 java.settings.cfg
... <JUNCTION> javapath [C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_3015921]
... <DIR> javapath_target_3015921
...
如您所见,javapath
(在PATH
环境变量中)指向javapath_target_3015921
。该文件夹包含JDK 8的3个可执行文件(不是链接!):
> dir /b "C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
java.exe
javaw.exe
javaws.exe
最后,我在网上搜索独立的JRE并发现它不存在!
我们程序的最终用户需要安装JDK吗?