Installer OpenJDK 8, OpenJDK 11 et Oracle Java 8 sur CentOS 8

Java est un langage de programmation libre et open source, largement utilisé pour les applications distribuées sur Internet. Il existe deux implémentations principales : Oracle Java (avec certaines fonctionnalités commerciales) et OpenJDK (implémentation open source de la plateforme Java).
Ce tutoriel montre comment installer OpenJDK 8, OpenJDK 11 et Oracle Java 8 sur CentOS 8, avec les commandes de vérification et les conseils pour basculer entre versions.
Prérequis
- Un serveur exécutant CentOS 8.
- Un accès root (ou un compte avec sudo).
- Connexion Internet pour télécharger les paquets.
Important: pour Oracle Java, vous devrez accepter la licence sur le site d’Oracle et télécharger manuellement le fichier RPM.
Installer OpenJDK 11
- Recherchez les paquets OpenJDK disponibles dans les dépôts CentOS 8 :
dnf search jdk
Vous devriez voir un résultat semblable à l’exemple ci-dessous :
Last metadata expiration check: 1:23:41 ago on Wednesday 18 December 2019 02:23:23 AM EST.
========================================================= Summary & Name Matched: jdk =========================================================
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK 8 accessibility connector
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a single archive
============================================================ Summary Matched: jdk =============================================================
icedtea-web.noarch : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation
- Installez OpenJDK 11 (environnement de développement) :
dnf install java-11-openjdk-devel.x86_64
- Vérifiez la version installée :
java -version
Exemple de sortie attendue :
openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
Notes: OpenJDK 11 est une version courante pour les applications modernes et reçoit des mises à jour de sécurité dans les distributions Linux.
Installer OpenJDK 8
Certaines applications Java plus anciennes ne supportent que Java 8. Pour installer OpenJDK 8 :
dnf install java-1.8.0-openjdk-devel
Puis vérifiez la version :
java -version
Exemple de sortie :
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Conseil: installez uniquement les versions nécessaires pour réduire la surface d’attaque et simplifier la maintenance.
Basculer entre les versions Java
Vous pouvez installer plusieurs versions Java sur une même machine et choisir la version active avec alternatives.
Pour lister et sélectionner la version de java :
alternatives --config java
Exemple d’invite :
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.5.10-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.232.b09-0.el8_0.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number: 1
Tapez le numéro de sélection (par exemple 1) puis Entrée pour changer la version active. Vérifiez ensuite avec :
java -version
Astuce: pour que javac et d’autres binaires suivent la même sélection, exécutez aussi :
alternatives --config javac
Installer Oracle Java 8
Oracle Java nécessite un téléchargement manuel depuis le site d’Oracle après acceptation de la licence.
- Connectez-vous au site Oracle et téléchargez le paquet RPM correspondant (par ex. jdk-8u231-linux-x64.rpm).
- Placez le fichier RPM sur le serveur CentOS (SCP, wget depuis votre dépôt interne, etc.).
- Installez le package :
dnf localinstall jdk-8u231-linux-x64.rpm
Vérifiez ensuite :
java -version
Exemple :
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
Note: Oracle Java peut inclure des composants soumis à licence commerciale selon l’usage. Lisez les conditions d’Oracle avant déploiement en production.
Dépannage courant
- Commande dnf échoue : vérifiez la connectivité réseau, les dépôts activés et exécutez dnf clean all puis dnf makecache.
- alternatives ne liste pas une version : assurez-vous que le binaire java est installé et que /usr/lib/jvm contient les JVM. Vous pouvez ajouter manuellement une alternative :
alternatives --install /usr/bin/java java /usr/lib/jvm//bin/java 2000
- Conflit de paquets RPM (Oracle RPM) : utilisez dnf localinstall pour gérer les dépendances ou rpm -Uvh –force si vous comprenez les risques.
Quand cela échoue (contre-exemples)
- Si une application nécessite des API propriétaires Oracle (rare), OpenJDK peut ne pas suffire.
- Certaines distributions cloud fournissent des images avec des versions Java gérées différemment ; adaptez la procédure.
Alternatives et bonnes pratiques
- Préférence pour OpenJDK pour la plupart des cas ; Oracle Java si vous dépendez d’une fonctionnalité commerciale.
- Containerisation : utiliser des images Docker avec la version Java voulue pour isoler l’application.
- Automatisation : gérer l’installation avec Ansible, Puppet ou scripts d’activation pour cohérence en production.
Mini-méthodologie de déploiement (3 étapes)
- Identifier la version requise par l’application (8 vs 11).
- Installer la JVM dans une machine de test et valider les comportements.
- Déployer en production puis documenter la version et la procédure de rollback.
Checklist administrateur
- Vérifier la compatibilité de l’application avec Java 8 ou 11.
- Installer la JVM sur l’environnement de test.
- Valider java -version et javac -version.
- Mettre à jour les alternatives si nécessaire.
- Documenter la version et l’emplacement /usr/lib/jvm.
- Plan de rollback prêt (sauvegarde des configurations, rollback d’alternatives).
Sécurité et conformité
- Appliquez les mises à jour de sécurité fournies par vos dépôts (dnf update).
- Limitez l’accès en écriture aux répertoires JVM.
- Pour Oracle Java, conservez la preuve d’acceptation de licence si nécessaire pour l’audit.
Arbre de décision pour choisir la version (Mermaid)
flowchart TD
A[Déployer une application Java ?] --> B{L'application exige Java 8 ?}
B -- Oui --> C[Installer OpenJDK 8 ou Oracle Java 8]
B -- Non --> D{L'application est compatible Java 11 ?}
D -- Oui --> E[Installer OpenJDK 11]
D -- Non --> F[Tester sur version plus récente ou contacter l'éditeur]
Mini-glossaire
- JVM : Machine virtuelle Java, exécute les bytecodes Java.
- JDK : Kit de développement Java (compiler, outils).
- JRE : Environnement d’exécution Java (sans outils de compilation).
Conclusion
Vous savez maintenant installer OpenJDK 11, OpenJDK 8 et Oracle Java 8 sur CentOS 8, vérifier les versions et basculer entre elles avec alternatives. Choisissez OpenJDK par défaut sauf besoin explicite d’Oracle Java. Documentez chaque changement et testez en environnement contrôlé avant mise en production.
Résumé rapide : installez avec dnf, vérifiez avec java -version, gérez la version active avec alternatives et automatisez la procédure pour la cohérence en production.
Matériaux similaires

Meilleure application de trading d’indices

Disque de récupération bootable pour Mac

Trier fichiers par extension dans Nautilus

Diagnostiquer et accélérer Internet via l'invite
