(待更清晰)
您可以在Oracle的官方网站上找到JRE 8
,JRE 9
和JRE 10
(单击每个)。 但是JRE 11
在哪里?!
此外,JDK 11
不包含JRE
。我期望JRE
与JDK
一起安装。
我们应用的最终用户是否需要安装JDK?
我从其official site下载并安装了Oracle JDK 11。我同时安装了..._linux-x64_bin.rpm
和..._windows-x64_bin.exe
(首先在Linux计算机上,然后在Windows计算机上)。但是我看到了意外的事情! 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之间还有另外两个区别。
一个独立的JRE
与JDK
并排,如您所见:
> 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
。此文件夹包含3个JDK 8可执行文件(不是 link s!):
> dir /b "C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
java.exe
javaw.exe
javaws.exe
最后,我在网上搜索了一个独立的JRE,发现它不存在!
我们程序的最终用户是否需要安装JDK?
答案 0 :(得分:12)
Java 11的整体结构已更改。 Java现在是一个模块化平台,您可以在其中创建自己的“ JRE”发行版,特别是运行应用程序所需的模块。
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html的发行说明包含以下句子:
在此版本中,不再提供JRE或Server JRE。只有 提供了JDK。用户可以使用jlink创建较小的自定义运行时。
有关jlink的文档:https://docs.oracle.com/en/java/javase/11/tools/jlink.html
关于它的另一篇文章:https://medium.com/codefx-weekly/is-jlink-the-future-1d8cb45f6306