JRE 11在哪里?

时间:2018-12-11 22:28:36

标签: java java-11

更新:

(待更清晰

您可以在Oracle的官方网站上找到JRE 8JRE 9JRE 10(单击每个)。 但是JRE 11在哪里?!

此外,JDK 11不包含JRE。我期望JREJDK一起安装。

我们应用的最终用户是否需要安装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之间还有另外两个区别。

  1. 一个独立的JREJDK并排,如您所见:

    > dir /b "C:\Program Files\Java"            
    jdk-11.0.1   
    jdk1.8.0_181 
    jre1.8.0_181 
    
  2. 在路径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?

1 个答案:

答案 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