Comment installer Java avec Apt sur Ubuntu 18.04
L'auteur a sélectionné le Open Internet/Free Speech Fund pour recevoir un don de 100 USD dans le cadre du programme Write for DOnations.
Introduction
Java et la JVM (machine virtuelle de Java) sont requis pour de nombreux types de logiciels, y compris Tomcat, Jetty, Glassfish, Cassandra et Jenkins.
Dans ce guide, vous allez installer différentes versions de Java Runtime Environment (JRE) et du Java Developer Kit (JDK) à l'aide de apt
. Vous installerez OpenJDK ainsi que le JDK officiel d'Oracle. Vous sélectionnerez ensuite la version que vous souhaitez utiliser pour vos projets. Lorsque vous aurez terminé, vous pourrez utiliser le JDK pour développer des logiciels ou utiliser Java Runtime pour exécuter des logiciels.
Conditions préalables
Pour suivre ce tutoriel, vous aurez besoin de :
- Un serveur Ubuntu 18.04 configuré en suivant le didacticiel du guide de configuration initiale du serveur Ubuntu 18.04, y compris un utilisateur sudo non-root et un pare-feu.
Installation du JRE/JDK par défaut
L'option la plus simple pour installer Java consiste à utiliser la version fournie avec Ubuntu. Par défaut, Ubuntu 18.04 inclut Open JDK 11, qui est une variante open source du JRE et du JDK.
Pour installer cette version, mettez d'abord à jour l'index du package :
sudo apt update
Ensuite, vérifiez si Java est déjà installé :
java -version
Si Java n'est pas actuellement installé, le résultat suivant s'affiche :
OutputCommand 'java' not found, but can be installed with: sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless
Exécutez la commande suivante pour installer l'environnement d'exécution Java (JRE) par défaut, 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 une sortie semblable à la suivante :
Outputopenjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing))
Vous aurez peut-être besoin du kit de développement Java (JDK) en plus du JRE pour compiler et 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 le résultat suivant :
Outputjavac 11.0.11
Ensuite, regardons comment installer les JDK et JRE officiels d'Oracle.
Installation du JDK Oracle 11
Le contrat de licence d'Oracle pour Java n'autorise pas l'installation automatique via les gestionnaires de packages. Pour installer le JDK Oracle, qui est la version officielle distribuée par Oracle, vous devez créer un compte Oracle et télécharger manuellement le JDK pour ajouter un nouveau référentiel de packages pour la version que vous souhaitez utiliser. Ensuite, vous pouvez utiliser apt
pour l'installer à l'aide d'un script d'installation tiers.
La version du JDK d'Oracle que vous devrez télécharger doit correspondre à la version du script d'installation. Pour savoir quelle version vous avez besoin, visitez la page oracle-java11-installer.
Localisez le package pour Bionic, comme illustré dans la figure suivante :
Dans cette image, la version du script est 11.0.7
. Dans ce cas, vous aurez besoin d'Oracle JDK 11.0.7. Vous n'avez pas besoin de télécharger quoi que ce soit à partir de cette page ; vous téléchargerez le script d'installation via apt
sous peu.
Ensuite, visitez la page de téléchargements et localisez la version qui correspond à celle dont vous avez besoin.
Cliquez sur le bouton JDK Download et vous serez redirigé vers un écran qui affiche les versions disponibles. Cliquez sur le package .tar.gz
pour Linux.
Un écran vous demandant d'accepter le contrat de licence Oracle s'affiche. Cochez la case pour accepter le contrat de licence et appuyez sur le bouton Télécharger. Votre téléchargement va commencer. Vous devrez peut-être vous connecter une fois de plus à votre compte Oracle avant le début du téléchargement.
Une fois le fichier téléchargé, vous devrez le transférer sur votre serveur. Sur votre ordinateur local, téléchargez le fichier sur votre serveur. Sur 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 Downloads
de votre ordinateur local :
scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz [email protected]_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
, qui ajoute 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 cette sortie :
Outputgpg: 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 ce message :
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 continuer l'installation. Vous pouvez voir un message concernant no valid OpenPGP data found
, mais vous pouvez l'ignorer en toute sécurité.
Mettez à jour votre liste de packages pour rendre le nouveau logiciel disponible pour l'installation :
sudo apt update
Le programme d'installation recherchera le JDK Oracle que vous avez téléchargé dans /var/cache/oracle-jdk11-installer-local
. Créez ce répertoire et déplacez-y 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/
Enfin, installez le package :
sudo apt install oracle-java11-installer-local
Le programme d'installation vous demandera d'abord d'accepter le contrat de licence Oracle. Acceptez l'accord, puis le programme d'installation extraira le package Java et l'installera.
Voyons maintenant comment sélectionner la version de Java que vous souhaitez utiliser.
Gestion de Java
Vous pouvez avoir plusieurs installations Java sur un serveur. Vous pouvez configurer la version par défaut à utiliser sur la ligne de commande à l'aide de la commande update-alternatives
.
sudo update-alternatives --config java
Voici à quoi ressemblerait le résultat si vous aviez installé les deux versions de Java dans ce didacticiel :
OutputThere 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 pour l'utiliser par défaut, ou appuyez sur ENTER
pour laisser les paramètres actuels en place.
Vous pouvez le faire 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 incluent, mais 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, déterminez d'abord où Java est installé. Utilisez la commande update-alternatives
:
sudo update-alternatives --config java
Cette commande affiche chaque installation de Java avec son chemin d'installation :
OutputThere 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 :
- OpenJDK 11 est situé à
/usr/lib/jvm/java-11-openjdk-amd64/bin/java.
- Oracle Java est situé à
/usr/lib/jvm/java-11-oracle/jre/bin/java
.
Copiez le chemin de votre installation préférée. Ouvrez ensuite /etc/environment
à l'aide de nano
ou de votre éditeur de texte préféré :
sudo nano /etc/environment
À la fin de ce fichier, ajoutez la ligne suivante, en veillant à remplacer le chemin en surbrillance par votre propre chemin copié, mais n'incluez pas la partie bin/
du chemin :
/etc/environnement
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.
Maintenant, rechargez ce fichier pour appliquer les modifications à 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 didacticiel, vous avez installé plusieurs versions de Java et appris à les gérer. Vous pouvez désormais installer des logiciels fonctionnant sous Java, tels que Tomcat, Jetty, Glassfish, Cassandra ou Jenkins.