Installer Java JDK 21 (OpenJDK 21) sur Ubuntu 22.04|20.04|18.04
À chaque nouvelle version de Java, il y a de nombreuses nouvelles fonctionnalités, des mises à jour de sécurité, des optimisations et améliorations du langage, ainsi que des améliorations de performance. Java 21 LTS a traversé une série d'étapes de développement importantes avant la sortie officielle en disponibilité générale (GA). Tous les six mois, il y a une nouvelle version de Java, mais le schéma des versions LTS se fait tous les trois ans. Au moment de la mise à jour de cet article, la version LTS la plus récente de Java est le JDK 21.
Cet article a été créé pour servir de référence d'information à jour pour l'installation du JDK 21 sur Ubuntu 22.04, Ubuntu 20.04 et Ubuntu 18.04. Pour toutes les nouvelles fonctionnalités, consultez les notes de version officielles de Java d'Oracle. Java 21 a été rendu possible grâce aux contributions de nombreux individus et organisations de la communauté OpenJDK.
Le Guide Complet du Bureau Ubuntu
Maîtrisez Ubuntu comme un pro - de la personnalisation élégante du bureau à l'automatisation puissante du terminal. Parfait pour les développeurs, les administrateurs système et les utilisateurs avancés qui veulent un contrôle total de leur espace de travail.
Installer Oracle JDK 21 LTS sur Ubuntu 22.04|20.04|18.04
Oracle fournit gratuitement des binaires JDK 21 à installer et à utiliser en production et même à redistribuer, sans frais, conformément aux Conditions générales sans frais d'Oracle (NFTC). Visitez la page de téléchargements Java d'Oracle et obtenez le dernier paquet DEB du Java Development Kit 21.
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.debUtilisez l'outil d'installation de packages apt pour installer Java JDK 21 LTS sur votre système Ubuntu.
sudo apt install ./jdk-21_linux-x64_bin.debVérifiez que l’installation ne génère aucune erreur dans la sortie :
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'jdk-21' instead of './jdk-21_linux-x64_bin.deb'
The following NEW packages will be installed:
jdk-21
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/168 MB of archives.
After this operation, 347 MB of additional disk space will be used.
Get:1 /root/jdk-21_linux-x64_bin.deb jdk-21 amd64 21.0.1-ga [168 MB]
Selecting previously unselected package jdk-21.
(Reading database ... 39280 files and directories currently installed.)
Preparing to unpack /root/jdk-21_linux-x64_bin.deb ...
Unpacking jdk-21 (21.0.1-ga) ...
Setting up jdk-21 (21.0.1-ga) ...
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jar to provide /usr/bin/jar (jar) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/javap to provide /usr/bin/javap (javap) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jfr to provide /usr/bin/jfr (jfr) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jlink to provide /usr/bin/jlink (jlink) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jmod to provide /usr/bin/jmod (jmod) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jps to provide /usr/bin/jps (jps) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jshell to provide /usr/bin/jshell (jshell) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/jwebserver to provide /usr/bin/jwebserver (jwebserver) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
update-alternatives: using /usr/lib/jvm/jdk-21-oracle-x64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Scanning processes...
Scanning linux images...
Confirmez l'installation en vérifiant la version par défaut de Java.
$ java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)Si vous devez définir Java Home, cela devrait être /usr/lib/jvm/jdk-21-oracle-x64/
export JAVA_HOME=/usr/lib/jvm/jdk-21-oracle-x64
export PATH=$PATH:$JAVA_HOME/binPour persister, définissez les valeurs dans le fichier ~/.bashrc ou /etc/profile.
Installer OpenJDK 21 LTS sur Ubuntu 22.04|20.04|18.04
OpenJDK est une implémentation open source de la plateforme Java, édition standard, sous licence GNU General Public License. OpenJDK 21 est une version open source prête pour la production du Kit de développement Java, version 21, une implémentation de la plateforme Java SE 21.
Pour installer OpenJDK 21, rendez-vous sur la page de publication d'OpenJDK 21 et téléchargez la dernière version disponible pour l'architecture de votre processeur.
wget https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gzExtraire l'archive téléchargée.
tar xvf openjdk-21.0.2_linux-x64_bin.tar.gzDéplacez le dossier créé après l'extraction
sudo mv jdk-21.0.2 /usr/local/Définissez les variables d'environnement dans le répertoire /etc/profile.d/.
$ sudo vim /etc/profile.d/jdk21.sh
export JAVA_HOME=/usr/local/jdk-21.0.2
export PATH=$PATH:$JAVA_HOME/binSourcer les fichiers pour rendre les variables disponibles dans votre session shell actuelle.
source /etc/profile.d/jdk21.shConfirmez la version de Java en utilisant la commande suivante.
$ java --version
openjdk 21.0.2 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+13-58)
OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, sharing)Changer de version Java
Sur les systèmes avec plusieurs versions de Java installées, vous pouvez passer d'une version installée à une autre en utilisant la commande update-java-alternatives.
Listez d'abord toutes les versions de Java :
$ sudo update-java-alternatives --list
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
jdk-21-oracle-x64 352329728 /usr/lib/jvm/jdk-21-oracle-x64Par exemple, pour définir la version 21 de Java par défaut, utilisez :
sudo update-java-alternatives --set /usr/lib/jvm/jdk-21-oracle-x64Confirmez que le changement a été effectué avec succès.
# Before
$ java --version
openjdk 11.0.21 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
# After
$ java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)Conclusion
Par conception, Java est un langage de programmation facile à utiliser et à comprendre. Profitez de l'écriture de vos applications en Java 21, de la compilation, du débogage et, espérons-le, de leur exécution dans des environnements de production. Avec Java, il est facile de créer des programmes modulaires et du code réutilisable sur n'importe quelle plateforme. Nous espérons que cet article vous a été utile et nous vous remercions de visiter notre site Web.