Comment mettre à jour Java (JRE et JDK)
Mettre à jour Java est devenu plus simple depuis l'apparition des distributions OpenJDK et des gestionnaires de paquets modernes. L'ancienne Console Java d'Oracle ne concerne plus que le JRE public, qui n'est d'ailleurs plus distribué officiellement depuis Java 9. Voici les options selon votre contexte.
Quelle version avez-vous actuellement ?
Ouvrez un terminal et tapez :
java -version
Exemple de sortie :
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment Temurin-17.0.11+9
OpenJDK 64-Bit Server VM Temurin-17.0.11+9
Vous savez alors la version majeure (17), la version mineure (0.11) et la distribution (Temurin). La version 21 est l'actuelle LTS recommandée en 2026.
Mise à jour sur Windows
Via winget (recommandé)
winget upgrade EclipseAdoptium.Temurin.21.JDK
Pour lister ce qui est installé :
winget list | findstr -i jdk
Via Chocolatey
choco upgrade temurin21
Via la Console Java (uniquement pour l'ancien JRE public)
Si vous avez installé l'ancien JRE d'Oracle (Java 8 ou antérieur), vous pouvez le mettre à jour via le Panneau de configuration :
- Panneau de configuration → Java (ouvre la Console Java)
- Onglet Mise à jour → Mettre à jour maintenant
Attention : Oracle ne distribue plus de mises à jour publiques gratuites de Java 8 depuis avril 2019 pour un usage commercial. Préférez une distribution OpenJDK (Temurin, Corretto, Zulu).
Mise à jour sur macOS
Via Homebrew
brew update
brew upgrade temurin21 # ou openjdk@21, selon ce qui est installé
Via SDKMAN!
SDKMAN! est le meilleur outil pour jongler entre plusieurs JDK :
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 21.0.3-tem # installe Temurin 21
sdk default java 21.0.3-tem # devient la version par défaut
sdk use java 17.0.11-tem # basculer temporairement
Mise à jour sur Linux
Debian / Ubuntu
sudo apt update
sudo apt upgrade openjdk-21-jdk
Fedora / RHEL
sudo dnf upgrade java-21-openjdk
Via SDKMAN! (multiplate-forme)
Les mêmes commandes que sur macOS fonctionnent sur toutes les distributions Linux. SDKMAN! est particulièrement pratique pour le développement multi-version.
Désinstaller les anciennes versions
Une fois la nouvelle version installée et validée, retirez les anciennes pour libérer de la place et éviter toute confusion :
# Windows via winget
winget uninstall EclipseAdoptium.Temurin.17.JDK
# macOS via brew
brew uninstall temurin17
# Linux Debian
sudo apt autoremove openjdk-17-jdk
Après la mise à jour
Vérifiez systématiquement :
java -versionetjavac -version— les deux doivent pointer vers la nouvelle version.echo $JAVA_HOME(Linux/macOS) ouecho %JAVA_HOME%(Windows) — la variable doit pointer vers le nouveau dossier.- Dans l'IDE : Project Structure → SDK (IntelliJ) ou Installed JREs (Eclipse) — sélectionnez la nouvelle version.
- Pour Maven :
mvn -versiondoit montrer la bonne JVM.
Automatisation dans un projet
Dans un projet collaboratif, figez la version requise pour éviter les surprises :
Fichier .sdkmanrc
java=21.0.3-tem
Chaque développeur exécute sdk env dans le dossier du projet pour basculer.
Dans pom.xml (Maven)
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
Dans build.gradle.kts (Gradle)
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}
Fréquence de mise à jour
Oracle publie une version majeure tous les 6 mois et des patches de sécurité tous les 3 mois. Pour une application en production :
- Suivez la version LTS en cours (21 aujourd'hui, bientôt 25).
- Appliquez les patches de sécurité trimestriels sans attendre.
- Planifiez la migration vers la LTS suivante 1 à 2 ans après sa sortie.
Avec SDKMAN! ou un gestionnaire de paquets, une mise à jour se fait en une commande — plus aucune excuse pour rester sur une JVM obsolète.