(pour être plus clair )
Vous pouvez trouver JRE 8 , JRE 9 et JRE 1 sur le site officiel d'Oracle (cliquez sur chacun). mais où est JRE 11 ?!
En outre, JDK 11 n'inclut pas de JRE. Je m'attendais à ce que JRE soit installé avec JDK.
Les utilisateurs finaux de nos applications doivent-ils installer JDK?
J'ai téléchargé et installé Oracle JDK 11 à partir de son site officiel . J'ai installé à la fois ..._linux-x64_bin.rpm
et ..._windows-x64_bin.exe
(le premier sur une machine Linux et le second sur une machine Windows). Mais j'ai vu une chose inattendue! Où est JRE?
Il s’agit d’un instantané du chemin d’installation sous CentOS 7. Comme vous pouvez le constater, il n’existe pas de dossier jre
:
# ls /usr/Java/jdk-11.0.1/
bin conf include jmods legal lib README.html release
Même cliché sur Oracle JDK 8 (Voir le dossier 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
Mêmes instantanés sur une machine 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
Sur la machine Windows, il existe également deux autres différences entre JDK 8 et JDK 11.
Un JRE
autonome à côté de JDK
comme vous pouvez le voir:
> dir /b "C:\Program Files\Java"
jdk-11.0.1
jdk1.8.0_181
jre1.8.0_181
Dans le chemin 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
...
Comme vous le voyez, javapath
(dans la variable d’environnement PATH
) pointe sur javapath_target_3015921
. Ce dossier contient 3 exécutables de JDK 8 (qui ne sont pas link s!):
> dir /b "C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
Java.exe
javaw.exe
javaws.exe
Enfin, j'ai cherché sur le Web pour trouver un JRE autonome et découvert qu'il n'existe pas!
Les utilisateurs finaux de nos programmes doivent-ils installer JDK?
La structure entière avec Java 11 a changé. Java est maintenant une plate-forme modulaire sur laquelle vous pouvez créer votre propre distribution "JRE" avec spécifiquement les modules nécessaires à l'exécution de votre application.
Les notes de version sur https://www.Oracle.com/technetwork/Java/javase/11-relnote-issues-5012449.html contiennent la phrase suivante:
Dans cette version, JRE ou Server JRE n'est plus proposé. Seul le JDK est offert. Les utilisateurs peuvent utiliser jlink pour créer des runtimes personnalisés plus petits.
Documentation sur jlink: https://docs.Oracle.com/en/Java/javase/11/tools/jlink.html
Et un autre article à ce sujet: https://medium.com/codefx-weekly/is-jlink-the-future-1d8cb45f6306