L'outil Java OpenJDK est une implémentation open-source du la platforme JavaSE. Il est aujourd'hui conseillé de passer par cette plateforme OpenJDK si vous souhaitez boire votre Java... Cependant, l'installation que l'on pourrait être tenté de faire par
$ sudo apt install default-jre
mais ce n'est pas une
bonne solution car vous allez disposer de la version OpenJDK v11. Bof bof...
La méthode conseillée est plutôt la suivante : Depuis le site https://jdk.java.net, cliquez sur le lien JDK 18 (ou tout autre numéro de version) qui serait disponible ultérieurement. Récupérez le lien correspondant à votre système en le copient dans le presse-papiers. Pour les versions classiques des CPU Intel, prendre les éléments x64. Pour ceux avec l'architecture ARM, prendre les éléments AArch64.
Une fois le lien sélectionné, depuis votre terminal faites
$ wget https://download.java.net/java/GA/jdk18.0.1.1/65ae32619e2f40f3a9af3af1851d6e19/2/GPL/openjdk-18.0.1.1_linux-x64_bin.tar.gz
ou un autre lien selon votre configuration.
Maintenant que le tarball est sur votre machine, extrayez les fichiers par
$ tar xvf openjdk-18.0.1.1_linux-x64_bin.tar.gz
Copiez les fichiers dans le dossier /opt par $ sudo mv jdk-18.0.1.1/ /opt/jdk-18
Positionnez ensuite les variables d'environnement par
echo 'export JAVA_HOME=/opt/jdk-18' | sudo tee /etc/profile.d/java18.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH'|sudo tee -a /etc/profile.d/java18.sh
source /etc/profile.d/java18.sh
Vous pouvez vérifier la version de Java par $ echo $JAVA_HOME
/opt/jdk-18
Vérifiez ensuite votre version de java par $ java --version
openjdk 18.0.1.1 2022-04-22
OpenJDK Runtime Environment (build 18.0.1.1+2-6)
OpenJDK 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
Dans le cas où plusieurs instances de Java devraient cohabiter sur votre machine, il est possible de modifier le comportement du système par le mécanisme des alternatives. Pour Java, il faudrait faire
$ sudo update-alternatives --config java
S'il ny a pas d'autre alternative, alors ceci s'afficheupdate-alternatives: error: no alternatives for java
sinon vous aurez quelque chose ressemblant à cela
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-18-oracle/bin/java 1091 manual mode
Press to keep the current choice[*], or type selection number: 2
Dans notre cas il faudrait choisir la valeur 2 pour automatiquement disposer de OpenJDK en version 18 lorsque la commande
java serait lancée.