Installer Java 8 sur Ubuntu - Le guide DevOps pour un environnement stable

Xavier Moreau .

17 mai 2026

Terminal Ubuntu : configuration de JAVA_HOME pour installer Java 8.
Java 8 reste utile quand on maintient une application héritée, un runner CI figé ou une image Docker qui doit rester compatible avec une chaîne de build ancienne. Je vais montrer comment l’installer proprement sur Ubuntu, comment choisir entre le paquet système et Temurin, puis comment verrouiller la version active pour éviter les surprises dans les scripts et les pipelines. J’ajoute aussi les erreurs que je vois le plus souvent en environnement DevOps, parce qu’un bon java -version ne suffit pas toujours.

Les points essentiels pour installer Java 8 proprement

  • Sur plusieurs versions récentes d’Ubuntu, openjdk-8-jdk reste disponible via apt.
  • Pour le développement et la CI/CD, je recommande le JDK, pas seulement le runtime.
  • Si le paquet Ubuntu n’est pas présent sur votre machine, passez à Temurin 8 plutôt que de bricoler une installation manuelle.
  • Après l’installation, vérifiez toujours java -version, javac -version et JAVA_HOME.
  • En environnement multi-JDK, utilisez update-alternatives pour éviter les écarts entre terminal, build et pipeline.

Pourquoi Java 8 reste encore utile dans un environnement DevOps

Je ne conseille pas Java 8 pour une nouvelle base de code, mais je le vois encore partout dans des systèmes qui ont vécu. Dans la pratique, il reste présent pour des applications legacy, des plugins Maven anciens, des agents de supervision, des builds qui doivent reproduire un comportement historique ou des conteneurs déjà validés en production.

Le point important, c’est que le besoin n’est presque jamais théorique. Il vient d’une contrainte de compatibilité, parfois d’un fournisseur logiciel, parfois d’un environnement de déploiement qui n’a pas encore migré vers 17 ou 21. Dans ce contexte, forcer une montée de version sans préparation casse plus de choses qu’elle n’en résout.

Je garde donc une règle simple : Java 8 peut encore être un bon choix de transition, mais jamais un bon point de départ. Si vous devez le conserver, il faut surtout le rendre reproductible et maîtrisé. C’est justement pour ça que le choix de la méthode d’installation compte autant que la commande elle-même.

Quelle méthode choisir sur Ubuntu

Avant de taper la moindre commande, je regarde toujours le niveau de contrôle que je veux sur la machine. Sur Ubuntu, deux voies sont vraiment utiles : le paquet fourni par la distribution et le dépôt Temurin d’Adoptium. Le premier est simple quand il existe ; le second est souvent plus stable dans les contextes de build, de serveur ou de conteneur.

Méthode Quand je la conseille Points forts Limites
openjdk-8-jdk depuis Ubuntu Quand le paquet est disponible dans votre version d’Ubuntu et que vous voulez rester au plus près du système Installation simple, gérée par apt, intégration native avec le reste du système Dépend de la version d’Ubuntu et de la présence réelle du paquet
temurin-8-jdk Quand vous cherchez une base homogène pour les postes, les serveurs et la CI/CD Distribution claire, même comportement d’une machine à l’autre, bon choix pour les pipelines Un dépôt supplémentaire à maintenir et à sécuriser
Oracle JDK 8 Uniquement si un contrat, un support ou une compatibilité précise l’impose Peut répondre à un besoin éditeur très spécifique Moins intéressant pour un usage standard DevOps, et rarement mon premier choix

Si vous êtes sur une machine personnelle, le paquet Ubuntu est souvent le chemin le plus court. Si vous préparez un serveur, un runner CI ou une image Docker, je préfère généralement Temurin, parce que la reproductibilité vaut plus qu’un gain de quelques secondes à l’installation. Une fois la stratégie choisie, l’installation elle-même devient très simple.

Installer le JDK 8 depuis les dépôts Ubuntu

Sur les versions récentes d’Ubuntu qui exposent encore ce paquet, l’installation la plus directe ressemble à ceci :

sudo apt update
sudo apt install openjdk-8-jdk
java -version
javac -version

Je recommande le JDK et pas seulement le runtime, parce qu’un environnement DevOps ne sert pas uniquement à exécuter une application. Il sert aussi à compiler, tester, empaqueter et parfois générer des artefacts dans une chaîne automatisée. Le JRE peut suffire sur une machine d’exécution très minimale, mais dès qu’il y a du build, il devient vite trop court.

Si la commande renvoie un paquet introuvable, je n’insiste pas longtemps. Sur un poste ou un serveur moderne, cela veut souvent dire que le dépôt système n’est pas la meilleure voie pour Java 8, et qu’il vaut mieux passer à une distribution dédiée. C’est là que Temurin prend le relais proprement.

Passer par Temurin 8 quand il faut une base plus stable

Temurin est, de mon point de vue, la solution la plus propre quand on veut une installation Java 8 portable entre plusieurs machines Ubuntu ou dans un pipeline. Le paquet porte un nom clair, temurin-8-jdk, et la logique d’installation reste la même qu’avec les autres paquets DEB. L’intérêt principal, c’est la cohérence : la version installée, les chemins, et le comportement du runtime sont plus faciles à standardiser.

sudo apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print $2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install temurin-8-jdk
java -version
javac -version

Je préfère cette voie dès qu’il faut préparer des machines identiques, parce que le dépôt dédié évite les écarts entre environnements. La clé GPG n’est pas un détail décoratif : elle permet de garder une chaîne d’approvisionnement logicielle plus propre, ce qui compte encore plus sur un serveur partagé ou dans un contexte de production. Une fois le JDK installé, le vrai sujet devient la version réellement utilisée par le système et par vos outils de build.

Définir la version par défaut et la variable JAVA_HOME

Le piège classique, c’est d’installer Java 8 puis de découvrir que le terminal, Maven ou Gradle continue d’utiliser une autre version. C’est normal : update-alternatives gère les liens système, alors que JAVA_HOME sert de référence à beaucoup d’outils Java. Les deux doivent être cohérents.

Pour choisir la version active, je passe d’abord par les alternatives du système :

sudo update-alternatives --config java
sudo update-alternatives --config javac

Ensuite, je vérifie le chemin du JDK réellement installé :

readlink -f "$(which javac)"
ls /usr/lib/jvm

Sur OpenJDK 8, le répertoire ressemble souvent à /usr/lib/jvm/java-8-openjdk-amd64 sur une machine amd64, mais je préfère toujours vérifier plutôt que supposer. Avec Temurin, le nom du dossier change, donc un copier-coller aveugle peut créer un faux sentiment de sécurité.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"

Si vous travaillez avec Maven, Gradle, Jenkins, GitLab CI ou un script shell maison, JAVA_HOME doit être défini dans l’environnement qui exécute le build, pas seulement dans votre session interactive. C’est souvent ce détail qui sépare une installation “qui marche chez moi” d’un environnement réellement fiable. Une fois ce verrou posé, il reste à éliminer les erreurs que je vois le plus souvent sur les serveurs et les pipelines.

Les pièges que je vois le plus souvent sur les serveurs et les pipelines

Quand une installation Java 8 pose problème, le souci n’est pas toujours le paquet lui-même. Voici les cas qui reviennent le plus souvent dans les environnements DevOps :

  • Le JRE a été installé au lieu du JDK : la machine exécute l’application, mais ne peut pas la compiler.
  • java et javac pointent vers des versions différentes : le build devient incohérent, surtout avec Maven ou Gradle.
  • JAVA_HOME n’est pas défini : certains outils se rabattent sur une autre version déjà présente sur le système.
  • Le paquet Ubuntu n’existe pas sur cette version : dans ce cas, Temurin est plus propre qu’une installation manuelle bricolée.
  • Java 8 est activé globalement sur une machine partagée : un autre projet peut casser silencieusement si vous ne segmentez pas les contextes.

Mon réflexe, dans ce genre de situation, est simple : je vérifie d’abord java -version, puis javac -version, puis la valeur de JAVA_HOME. Si ces trois points ne racontent pas la même histoire, il y a déjà une cause probable. Et si la machine sert plusieurs projets, je préfère isoler Java 8 par projet ou par pipeline plutôt que de l’imposer partout.

Garder Java 8 sous contrôle sans bloquer la suite

Le bon usage de Java 8 aujourd’hui, ce n’est pas de l’installer une fois et d’oublier le sujet. C’est de le rendre reproductible, traçable et limité à ce qui en a réellement besoin. Dans un pipeline, je conseille de figer la version du JDK, de documenter la raison de ce choix et de séparer clairement la phase de build de la phase d’exécution.

  • Dans Docker, partez d’une image Java 8 dédiée et taggée explicitement.
  • Dans CI/CD, définissez JAVA_HOME et PATH au niveau du job.
  • Sur un serveur, gardez le nombre de JDK installés au strict nécessaire.
  • Si le projet vit encore longtemps, ouvrez dès maintenant un chantier de migration vers 17 ou 21.

Je résume ma position de façon très concrète : installer Java 8 sur Ubuntu est facile, mais garder un environnement stable autour de cette version demande de la discipline. C’est ce cadre qui évite les builds qui changent de comportement d’un serveur à l’autre, et c’est aussi ce qui prépare une migration propre lorsque le projet sera prêt.

Questions fréquentes

Java 8 reste pertinent pour les applications héritées, les systèmes CI/CD existants et les images Docker qui nécessitent une compatibilité avec d'anciennes chaînes de build. Ce n'est pas un point de départ pour un nouveau projet, mais une étape de transition nécessaire pour beaucoup.
Pour un environnement DevOps, il est fortement recommandé d'installer le JDK (Java Development Kit). Le JRE (Java Runtime Environment) est suffisant pour exécuter des applications, mais le JDK est nécessaire pour compiler, tester et empaqueter le code.
Pour une machine personnelle, le paquet openjdk-8-jdk via apt est simple si disponible. Pour les serveurs, la CI/CD ou Docker, Temurin 8 (temurin-8-jdk) est préférable pour sa reproductibilité et sa cohérence entre les environnements.
Après l'installation, vérifiez toujours java -version et javac -version. Utilisez sudo update-alternatives --config java et javac pour définir la version par défaut. Assurez-vous également que la variable d'environnement JAVA_HOME pointe vers le bon répertoire du JDK.
Les pièges incluent l'installation du JRE au lieu du JDK, des versions incohérentes entre java et javac, une variable JAVA_HOME mal définie, ou l'activation globale de Java 8 sur une machine partagée, ce qui peut causer des conflits entre projets.

Évaluer l'article

Moyenne: 0.0 / 5 · 0 évaluations

Tags

install java 8 ubuntu installer java 8 ubuntu configurer java_home java 8 temurin 8 ubuntu problèmes java 8 devops update-alternatives java 8
Autor Xavier Moreau
Xavier Moreau
Je m'appelle Xavier Moreau et je cumule 14 ans d'expérience dans le développement web, avec un accent particulier sur JavaScript, le backend, le NoSQL et la sécurité. Mon intérêt pour ces domaines a émergé dès mes débuts dans la programmation, où j'ai découvert la puissance des technologies web et leur capacité à transformer des idées en réalité. J'aime expliquer des concepts complexes de manière accessible, en aidant les lecteurs à naviguer dans les défis techniques qu'ils rencontrent. Au fil des ans, j'ai développé une expertise solide en vérifiant mes sources, en comparant les informations et en simplifiant des sujets parfois ardus. Je m'efforce toujours de fournir des contenus utiles, précis et à jour, en suivant les tendances du secteur et en organisant mes connaissances de manière claire. Mon objectif est d'accompagner les passionnés et les professionnels du développement web dans leur quête de compréhension et d'innovation.

Commentaires (0)

Ajouter un commentaire