Tutorial

Comment installer Java avec Apt sur Ubuntu 20.04

JavaUbuntu 20.04

Introduction

Java et la machine virtuelle Java (JVM) sont nécessaires pour de nombreux types de logiciels, dont Tomcat, Jetty, Glassfish, Cassandra et Jenkins.

Dans ce guide, vous installerez différentes versions de l'environnement d'exécution Java (JRE) et du kit de développement Java (JDK) en utilisant apt. Vous installerez OpenJDK ainsi que le JDK officiel d'Oracle. Vous sélectionnerez ensuite la version que vous souhaitez utiliser pour vos projets. Une fois terminé, vous pourrez utiliser le JDK pour développer des logiciels ou utiliser le JRE pour exécuter des logiciels.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de :

Installation du JRE et du JDK par défaut

L'option la plus simple pour installer Java est d'utiliser la version fournie avec Ubuntu. Par défaut, Ubuntu 20.04 inclut OpenJDK 11, une variante open source du JRE et du JDK.

Pour installer cette version, mettez d'abord à jour l'index des packages :

  • sudo apt update

Ensuite, vérifiez si Java est déjà installé :

  • java -version

Si Java n'est actuellement pas installé, vous verrez la sortie suivante :

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72, or sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1 sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2 sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1 sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu1

Exécutez la commande suivante pour installer l'environnement d'exécution Java par défaut (JRE), qui installera le JRE à partir d'OpenJDK 11 :

  • sudo apt install default-jre

Le JRE vous permettra d'exécuter presque tous les logiciels Java.

Vérifiez l'installation avec :

  • java -version

Vous verrez la sortie suivante :

Output
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Vous aurez peut-être besoin du kit de développement Java (JDK) en plus du JRE afin de compiler et d'exécuter certains logiciels spécifiques basés sur Java. Pour installer le JDK, exécutez la commande suivante, qui installera également le JRE :

  • sudo apt install default-jdk

Vérifiez que le JDK est installé en vérifiant la version de javac, le compilateur Java :

  • javac -version

Vous verrez la sortie suivante :

Output
javac 11.0.7

Ensuite, voyons comment installer les JDK et JRE officiels d'Oracle.

Installation d'Oracle JDK 11

Le contrat de licence d'Oracle pour Java ne permet pas l'installation automatique via les gestionnaires de packages. Pour installer le JDK d'Oracle, qui est la version officielle distribuée par Oracle, vous devez créer un compte Oracle et télécharger manuellement le JDK afin d'ajouter un nouveau référentiel de packages pour la version que vous souhaitez utiliser. Ensuite, vous pouvez utiliser apt pour l'installer avec l'aide d'un script d'installation tiers.

La version du JDK d'Oracle que vous devez télécharger doit correspondre à la version du script d'installation. Pour savoir de quelle version vous avez besoin, consultez la page oracle-java11-installer

Localisez le package pour Focal, comme indiqué dans la figure suivante :

Package d'installation pour Ubuntu 2.04

Dans cette image, la version du script est 11.0.7. Dans ce cas, vous aurez besoin d'Oracle JDK 11.0.7. Pas besoin de télécharger quoi que ce soit à partir de cette page. Vous pourrez bientôt télécharger le script d'installation par apt.

Ensuite, rendez-vous à la page Téléchargement et recherchez la version qui correspond à celle dont vous avez besoin.

Oracle Java 11

Cliquez sur le bouton Télécharger JDK. Vous serez redirigé vers un écran affichant les versions disponibles. Cliquez sur le package .tar.gz pour Linux.

Téléchargement de Linux

Un écran s'affiche vous demandant d'accepter le contrat de licence Oracle. Cochez la case pour accepter le contrat de licence, puis appuyez sur le bouton Télécharger. Votre téléchargement commencera. Vous aurez peut-être besoin de vous connecter à votre compte Oracle une fois de plus avant que le téléchargement ne démarre.

Une fois que le fichier aura été téléchargé, vous devez le transférer à votre serveur. Sur votre ordinateur local, téléchargez le fichier sur votre serveur. Sous macOS, Linux ou Windows utilisant le sous-système Windows pour Linux, utilisez la commande scp pour transférer le fichier vers le répertoire personnel de votre utilisateur sammy. La commande suivante suppose que vous avez enregistré le fichier Oracle JDK dans le dossier Téléchargement de votre ordinateur local :

  • scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

Une fois le téléchargement du fichier terminé, revenez sur votre serveur et ajoutez le référentiel tiers qui vous aidera à installer Java d'Oracle.

Installez le package software-properties-common pour ajouter la commande add-apt-repository à votre système :

  • sudo apt install software-properties-common

Ensuite, importez la clé de signature utilisée pour vérifier le logiciel que vous êtes sur le point d'installer :

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

Vous verrez la sortie suivante :

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

Utilisez ensuite la commande add-apt-repository pour ajouter le référentiel à votre liste de sources de packages :

  • sudo add-apt-repository ppa:linuxuprising/java

Vous verrez le message suivant :

Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding it

Appuyez sur ENTER pour poursuivre l'installation. Le message no valid OpenPGP data found peut apparaître, mais vous pouvez l'ignorer en toute sécurité.

Mettez à jour votre liste de packages pour que le nouveau logiciel soit disponible pour l'installation :

  • sudo apt update

Le programme d'installation recherchera le JDK d'Oracle que vous avez téléchargé dans /var/cache/oracle-jdk11-installer-local.  Créez ce répertoire pour y déplacer l'archive Oracle JDK :

  • sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  • sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

Pour finir, installez le package :

  • sudo apt install oracle-java11-installer-local

Le programme d'installation vous demandera tout d'abord d'accepter le contrat de licence d'Oracle. Une fois que vous aurez accepté le contrat, le programme d'installation procèdera à l'extraction du package Java et à son installation.

Voyons maintenant comment sélectionner la version de Java que vous souhaitez utiliser.

Gestion de Java

Vous pouvez avoir plusieurs installations Java sur un même serveur. Vous pouvez configurer la version utilisée par défaut sur la ligne de commande en utilisant la commande update-alternatives.

  • sudo update-alternatives --config java

Voici à quoi devrait ressembler la sortie si vous avez installé les deux versions de Java de ce tutoriel :

Output
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-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

Choisissez le numéro associé à la version Java afin de l'utiliser par défaut ou appuyez sur ENTER pour conserver les paramètres actuels.

Vous pouvez faire cela pour d'autres commandes Java, telles que le compilateur (javac) :

  • sudo update-alternatives --config javac

Les autres commandes pour lesquelles cette commande peut être exécutée comprennent, sans s'y limiter : keytool, javadoc et jarsigner.

Définition de la variable d'environnement JAVA_HOME

De nombreux programmes écrits en Java utilisent la variable d'environnement JAVA_HOME pour déterminer l'emplacement d'installation de Java.

Pour définir cette variable d'environnement, il faut d'abord déterminer où Java est installé. Utilisez la commande update-alternatives :

  • sudo update-alternatives --config java

Cette commande montre chaque installation de Java ainsi que son chemin d'installation :

Output
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-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

Dans ce cas, les chemins d'installation sont les suivants :

  1. OpenJDK 11 se trouve dans /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java se trouve dans /usr/lib/jvm/java-11-oracle/jre/bin/java.

Copiez le chemin de votre installation souhaitée. Puis, ouvrez /etc/environment en utilisant nano ou votre éditeur de texte préféré :

  • sudo nano /etc/environment

À la fin de ce fichier, ajoutez la ligne suivante, en veillant à bien remplacer le chemin en surbrillance par le vôtre que vous aurez copié, mais n'incluez pas la partie bin/ du chemin :

/etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

La modification de ce fichier définira le chemin JAVA_HOME pour tous les utilisateurs de votre système.

Enregistrez le fichier et quittez l'éditeur.

Rechargez maintenant ce fichier pour appliquer les changements à votre session actuelle :

  • source /etc/environment

Vérifiez que la variable d'environnement est définie :

  • echo $JAVA_HOME

Vous verrez le chemin que vous venez de définir :

Output
/usr/lib/jvm/java-11-openjdk-amd64

Les autres utilisateurs devront exécuter la commande source /etc/environment, ou se déconnecter et se reconnecter pour appliquer ce paramètre.

Conclusion

Dans ce tutoriel, vous avez installé plusieurs versions de Java et appris à les gérer. Vous pouvez désormais installer des logiciels fonctionnant grâce à Java, tels que Tomcat, Jetty, Glassfish, Cassandra ou Jenkins.

Creative Commons License