Java est l’un des langages de programmation les plus populaires utilisés pour créer différents types d’applications et de systèmes.
Il existe deux implémentations différentes de Java, OpenJDK et Oracle Java, avec presque aucune différence entre elles, sauf qu’Oracle Java a quelques fonctionnalités commerciales supplémentaires. Oracle Java Licensepermet uniquement l’utilisation non commerciale du logiciel, telle que l’utilisation personnelle et l’utilisation de développement. OpenJDK est une implémentation open-source de la plate-forme Java.
Les référentiels CentOS 8 par défaut incluent les deux dernières versions majeures de Java LTS, Java 8 et Java 11.
Dans ce tutoriel, nous expliquerons comment installer une ou plusieurs versions de Java (OpenJDK) sur CentOS 8 et comment définir le Java par défaut via des alternatives.
Installation d’OpenJDK 11#
La recommandation générale est d’installer la dernière version de Java LTS (JDK 11). Certaines applications basées sur Java peuvent nécessiter une version spécifique de Java, vous devrez donc peut-être consulter la documentation de l’application.
Pour installer OpenJDK 11 sur CentOS 8, exécutez la commande suivante en tant que root ou utilisateur avec les privilèges sudo :
sudo dnf install java-11-openjdk-devel
Une fois l’installation terminée, vous pouvez la vérifier en vérifiant la version Java :
java -version
La sortie devrait ressembler à ceci :
openjdk version "11.0.4" 2019-07-16 LTSOpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
C’est tout! Vous avez installé Java avec succès sur votre système CentOS 8.
CentOS 8 prend également en charge une version sans tête d’OpenJDK qui fournit un temps d’exécution Java minimal nécessaire pour exécuter des applications sans interface utilisateur graphique (pas de prise en charge du clavier, de la souris et des systèmes d’affichage). Cette version est plus adaptée aux applications serveur car elle a moins de dépendances et utilise moins de ressources système.
Pour installer uniquement le type OpenJDK 11 sans tête :
sudo dnf install java-11-openjdk-headless
Si vous avez déjà installé java-11-openjdk-devel
, le package sans tête sera installé en tant que dépendance.
Installation d’OpenJDK 8 #
Java 8, la version précédente de Java LTS, est toujours prise en charge et largement utilisée. Si votre application nécessite Java 8, vous pouvez l’installer en tapant la commande suivante :
sudo dnf install java-1.8.0-openjdk-devel
Vérifiez l’installation en vérifiant la version Java :
java -version
La sortie devrait ressembler à ceci :
openjdk version "1.8.0_222"OpenJDK Runtime Environment (build 1.8.0_222-b10)OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Pour un minimum de temps Java runtime, installez le package java-1.8.0-openjdk-headless
.
Définition de la version Java par défaut #
Si vous avez installé plusieurs versions Java sur votre système CentOS, vous pouvez utiliser le système alternatives pour définir quelle version Java sera utilisée lorsque vous tapez java
dans le terminal.
Pour vérifier quelle version de Java est définie comme la version par défaut, tapez :
java -version
Si vous souhaitez modifier la version par défaut, utilisez la commande alternatives
:
sudo alternatives --config java
La sortie ressemblera à quelque chose ci-dessous:
There are 2 programs which provide 'java'. Selection Command----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)Enter to keep the current selection, or type selection number:
Une liste de toutes les versions Java installées sera imprimée à l’écran. Entrez le numéro de la version que vous souhaitez utiliser par défaut et appuyez sur Enter
.
Vous pouvez également modifier la version par défaut javac
:
sudo alternatives --config java
javac
est un utilitaire de commande pour compiler des programmes Java.
Définition de la variable d’environnement JAVA_HOME #
La variable d’environnement JAVA_HOME
est utilisée par certaines applications Java pour déterminer l’emplacement d’installation Java et spécifier la version Java à utiliser pour exécuter l’application.
Pour définir la variable JAVA_HOME
par utilisateur, ajoutez-la au ~/.bashrc
ou à tout autre fichier de configuration chargé lorsque l’utilisateur se connecte. Pour un réglage à l’échelle du système, utilisez un script dans le répertoire /etc/profile.d
.
En supposant que vous souhaitiez définir JAVA_HOME
sur OpenJDK 8 ajoutez la ligne suivante, à la fin du fichier:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
Pour que les modifications prennent effet sur votre shell actuel, vous pouvez vous déconnecter et vous connecter ou utiliser la commande source
:
source /etc/profile.d/java.sh
Vérifiez que le
source /etc/profile.d/java.sh
Vérifiez que le JAVA_HOME
la variable d’environnement a été correctement définie :
echo $JAVA_HOME
La sortie doit afficher le chemin d’accès à l’installation Java:
/usr/lib/jvm/java-1.8.0-openjdk
Vous pouvez également définir le JAVA_HOME
dans la configuration de l’application, le fichier d’unité systemd ou sur la ligne de commande lors du lancement du programme.
Par exemple, pour exécuter Maven en utilisant Java 8, vous devez taper :
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre...
Conclusion #
CentOS 8 prend en charge deux versions principales de Java, Java 8 et Java 11, qui peuvent être installées en utilisant le dnf
gestionnaire de paquets.