Installer Java dans Ubuntu 16.04

Installer Java Runtime Environment (JRE) et Java Developer Kit (JDK) avec apt

Java est un langage de programmation orienté objet développé par Sun Microsystems depuis 1991 et officiellement publié le 23 mai 1995. Ce nouveau langage s'appelait à l'origine Oak (James Gosling) et était conçu pour l'électronique grand public ; il a ensuite été renommé Java et est devenu utilisé pour écrire des applets, des applications et des logiciels serveur. La particularité de la technologie Java réside dans son système de sécurité flexible : l'exécution du programme est entièrement contrôlée par une machine virtuelle. Toute opération dépassant les autorisations définies pour le programme (par exemple, une tentative d'accès non autorisé à des données ou de connexion à un autre ordinateur) provoque une interruption immédiate.

file

Installation du JRE/JDK par défaut

La façon la plus simple d'installer Java est d'utiliser la version distribuée avec Ubuntu.

Pour l'installation, mettez d'abord à jour l'index des paquets :

apt-get update && apt-get upgrade

Ensuite, installons Java. Cette commande installe le Java Runtime Environment (JRE) :

sudo apt-get install default-jre

Il existe une deuxième variante de l'installation Java par défaut : le JDK (Java Development Kit). L'installation du JDK est généralement nécessaire lorsque vous prévoyez de compiler des programmes Java ou lorsque le logiciel que vous utilisez requiert explicitement le JDK.

Vous pouvez installer le JDK avec la commande suivante :

sudo apt-get install default-jdk

Installation d'Oracle JDK

Pour installer Oracle JDK — la version officielle de Java distribuée par Oracle —, quelques étapes supplémentaires sont nécessaires.

Commençons par ajouter le PPA Oracle :

sudo add-apt-repository ppa:linuxuprising/java
root@kvmde54-19861:~# sudo add-apt-repository ppa:linuxuprising/java
 Oracle Java 11 (LTS) and 14 installer for Ubuntu (20.04, 19.10, 18.04, 16.04 and 14.04), Linux Mint and Debian.

Java binaries are not hosted in this PPA due to licensing reasons. The packages in this PPA download and install Oracle Java, 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.:

Oracle Java 11: https://www.linuxuprising.com/2019/06/new-oracle-java-11-installer-for-ubuntu.html
Oracle Java 14: https://www.linuxuprising.com/2020/03/how-to-install-oracle-java-14-jdk14-on.html

Important notice regarding Oracle Java 11 and newer: the Oracle JDK license has changed starting April 16, 2019. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle JDK licenses may no longer be available. A FAQ is available here: https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html . After this change, new Oracle Java 11 releases (11.0.3 and newer) require signing in using an Oracle account to download the binaries. This PPA has a new installer which requires the user to download the Oracle JDK 11 .tar.gz and place it in a folder, and only then install the « oracle-java11-installer-local » package. Details here: https://www.linuxuprising.com/2019/06/new-oracle-java-11-installer-for-ubuntu.html

About Oracle Java 10, 12 and 13: These versions have reached the end of public updates, therefore they are longer available for download. The Oracle Java 10/12/13 packages in this PPA no longer worked due to this, so I have removed them. Switch to Oracle Java 11 or OpenJDK 11 instead, which is long term support, or the latest Java 14.
 More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpyvsm7f7w/secring.gpg' created
gpg: keyring `/tmp/tmpyvsm7f7w/pubring.gpg' created
gpg: requesting key 73C3DB2A from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpyvsm7f7w/trustdb.gpg: trustdb created
gpg: key 73C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

Mettez ensuite à jour la liste des paquets :

sudo apt-get update

Selon la version que vous souhaitez installer, exécutez l'une des commandes suivantes :

Par exemple, installons Oracle JDK 14. Pour l'installer, exécutez la commande :

sudo apt-get install oracle-java14-installer
root@kvmde54-19861:~# java -version 
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

Gestion des versions Java

Plusieurs versions de Java peuvent être installées simultanément sur le même serveur. Vous pouvez utiliser l'utilitaire update-alternatives pour définir la version par défaut et créer des liens symboliques (symbolic links) vers les différentes versions.

sudo update-alternatives --config java

La sortie de cette commande ressemblera à celle présentée ci-dessous. Dans cet exemple, nous constatons que toutes les versions Java mentionnées plus haut ont bien été installées.

root@kvmde54-19861:~# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection Path Priority Status
------------------------------------------------------------
  0 /usr/lib/jvm/java-14-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-14-oracle/bin/java 1091 manual mode
  2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter>to keep the current choice[*], or type selection number 

Vous pouvez sélectionner le numéro de la version Java à utiliser par défaut. La même opération est possible pour le compilateur Java (javac), le générateur de documentation (javadoc), l'outil de signature JAR (jarsigner) et d'autres outils. Saisissez la commande suivante en remplaçant command par le nom de l'outil souhaité :

sudo update-alternatives --config command

Définition de la variable d'environnement JAVA_HOME

Pour définir la variable d'environnement, vous devez d'abord identifier le répertoire d'installation de Java. Utilisez la commande update-alternatives :

sudo update-alternatives --config java

Cette commande affiche chaque installation Java avec son chemin d'installation :

root@kvmde54-19861:~# sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection Path Priority Status
------------------------------------------------------------
  0 /usr/lib/jvm/java-14-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-14-oracle/bin/java 1091 manual mode
  2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter>to keep the current choice[*], or type selection number</enter> <enter>

Copiez le chemin du répertoire d'installation de la version souhaitée. Ouvrez le fichier /etc/environment avec un éditeur de texte :

sudo nano /etc/environment

Ajoutez la ligne suivante à la fin du fichier en remplaçant le chemin par celui copié précédemment :

JAVA_HOME="/usr/lib/jvm/java-14-oracle/bin/"

Cette modification définira le chemin JAVA_HOME pour tous les utilisateurs du système.

Enregistrez les modifications et fermez le fichier (CTRL + X, Y, Entrée).

Rechargez le fichier pour appliquer les modifications à la session en cours :

source /etc/environment

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

echo $JAVA_HOME

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

root@kvmde54-19861:~# echo $JAVA_HOME
/usr/lib/jvm/java-14-oracle/bin/

Les autres utilisateurs devront exécuter la commande source /etc/environment pour appliquer ce paramètre.


En cas de difficultés de configuration ou pour toute question, vous pouvez contacter notre équipe d'assistance via le système de tickets.

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter