Bureau en bois avec un ordinateur portable affichant du code et un carnet où un schéma relie un document, un engrenage et un bouton de lecture

Préparer son environnement Java : installer le JDK et lancer un premier programme

Pour programmer en Java, il vous faut un JDK (Java Development Kit). Il fournit deux commandes indispensables : javac, le compilateur, qui traduit votre code en bytecode (un format intermédiaire), et java, qui exécute ce bytecode. Ce guide vous montre comment installer le JDK sur Windows, macOS ou Linux, vérifier qu’il répond, régler les variables JAVA_HOME et PATH, puis compiler un premier programme.

Nous utiliserons Java 25, la version à support long terme (LTS) la plus récente au 1er octobre 2026, dans la distribution gratuite Eclipse Temurin. Sauf mention contraire, les sorties de terminal reproduites ici ont été obtenues sous Windows avec Temurin 25.0.4.1. Pour macOS et Linux, les commandes suivent la documentation officielle des outils cités.

JDK, JRE et JVM : ce que vous allez installer

Trois sigles reviennent sans cesse quand on débute en Java. La JVM (Java Virtual Machine) est la machine virtuelle qui exécute les programmes Java. Le JRE (Java Runtime Environment) désigne l’environnement d’exécution : la JVM, la bibliothèque standard et la commande java. Le JDK contient tout cela, plus les outils de développement.

Pour écrire du code, c’est donc le JDK qu’il vous faut. Certains éditeurs proposent encore des paquets « JRE » seuls, destinés à faire tourner des applications : ils ne contiennent pas javac et ne suffisent pas pour programmer.

Schéma de ce que vous allez installer : le JDK regroupe les outils javac, jshell, jar et javadoc, ainsi que le lanceur java, la bibliothèque standard et la JVM
Le JDK réunit les outils de développement et l’environnement d’exécution : un seul téléchargement suffit.

Parmi ces outils, vous utiliserez surtout javac pour compiler, java pour exécuter et jshell pour essayer une instruction sans créer de fichier. jar regroupe un programme dans une archive et javadoc produit une documentation à partir des commentaires du code : vous les rencontrerez plus tard.

Étape 1 : choisir la version et la distribution du JDK

Pourquoi Java 25 plutôt que Java 27 ?

Une nouvelle version de Java sort tous les six mois, en mars et en septembre. Java 27 est sortie le 15 septembre 2026 et c’est la plus récente, comme l’indique la page des versions d’OpenJDK. La plupart des fournisseurs désignent certaines versions comme LTS (Long-Term Support) : elles reçoivent des correctifs pendant plusieurs années, alors qu’une version non LTS n’en reçoit en général plus après la sortie de la suivante, six mois plus tard.

Java 25, sortie le 16 septembre 2025, est la dernière LTS. D’après la feuille de route d’Oracle, la prochaine LTS prévue est Java 29, en septembre 2027, une date donnée à titre indicatif. Pour apprendre, une LTS vous évite de changer de version tous les six mois, et le code que vous écrivez avec Java 25 continuera, sauf cas rares, de fonctionner avec les versions suivantes.

Quelle distribution télécharger ?

Java est développé en open source dans le projet OpenJDK. Plusieurs organisations compilent ce code et le publient sous forme de JDK prêts à installer, appelés distributions. Pour un même numéro de version, elles offrent le même langage et la même bibliothèque standard.

  • Eclipse Temurin, publiée par Adoptium : gratuite, sans compte à créer, disponible pour Windows, macOS et Linux. C’est celle que nous utiliserons.
  • Oracle JDK : Oracle indique sur sa page de téléchargement que le JDK 25 est gratuit, y compris en production, sous sa licence No-Fee Terms and Conditions.
  • D’autres distributions existent, comme Microsoft Build of OpenJDK ou Amazon Corretto. Elles conviennent aussi : seules les étapes d’installation changent.

Au moment du téléchargement, vérifiez l’architecture de votre machine : x64 pour la plupart des PC Windows et Linux ainsi que pour les Mac Intel, aarch64 pour les processeurs ARM, comme les Mac à puce Apple (M1 et suivantes) ou certains PC portables Windows récents.

Étape 2 : installer le JDK sur Windows, macOS ou Linux

Installer le JDK sous Windows

  1. Ouvrez la page de téléchargement de Temurin. Sélectionnez le système Windows, l’architecture x64 (ou aarch64 pour un PC ARM), le type JDK et la version 25, puis téléchargez le fichier .msi.
  2. Lancez l’installeur. Par défaut, Temurin s’installe dans C:\Program Files\Eclipse Adoptium\ et active deux options : l’ajout du JDK à la variable PATH et l’association des fichiers .jar.
  3. Dans l’écran de sélection des fonctionnalités, l’option qui met à jour JAVA_HOME n’est pas activée par défaut, comme le précise la documentation d’Adoptium. Cliquez sur l’icône placée devant elle et activez-la : vous n’aurez pas à régler cette variable à la main.
  4. Terminez l’installation, puis fermez les terminaux déjà ouverts : ils ont gardé l’ancienne valeur de PATH.

Si vous préférez la ligne de commande, le gestionnaire de paquets winget de Windows installe le même JDK :

winget install --id EclipseAdoptium.Temurin.25.JDK -e

Après une installation avec winget, contrôlez quand même JAVA_HOME comme indiqué à l’étape 4.

Installer le JDK sous macOS

Sur la même page de Temurin, choisissez macOS, l’architecture aarch64 pour un Mac à puce Apple ou x64 pour un Mac Intel, puis le fichier .pkg. Ouvrez-le et suivez l’assistant. Le JDK est copié dans le dossier /Library/Java/JavaVirtualMachines/, où macOS cherche les JDK installés.

Avec Homebrew, une seule commande suffit :

brew install --cask temurin@25

Le nom temurin@25 fixe la version. Le paquet temurin, sans numéro, installe la version la plus récente disponible, qui n’est pas une LTS.

Installer le JDK sous Linux

Sur Linux, le plus simple est d’utiliser le JDK fourni par votre distribution. Il s’agit aussi d’une compilation d’OpenJDK : la sortie de java -version ne mentionnera simplement pas Temurin. Sur Ubuntu 24.04, Ubuntu 26.04 ou Debian 13 :

sudo apt update
sudo apt install openjdk-25-jdk

Indiquez bien le numéro de version : sur Ubuntu 24.04 et Debian 13, le paquet générique default-jdk installe encore Java 21. Sur Fedora, la commande est la suivante :

sudo dnf install java-25-openjdk-devel

Le suffixe -devel compte : c’est ce paquet qui apporte javac. Évitez java-latest-openjdk-devel, qui correspond actuellement à une préversion de Java 27.

Si plusieurs versions de Java sont installées, sudo update-alternatives --config java (Debian, Ubuntu) ou sudo alternatives --config java (Fedora) permet de choisir celle qui répond à la commande java.

Étape 3 : vérifier l’installation avec java et javac

Ouvrez un nouveau terminal : PowerShell ou Terminal sous Windows, l’application Terminal sous macOS, votre terminal habituel sous Linux. Tapez ces deux commandes :

java -version
javac -version
Terminal PowerShell : java -version affiche openjdk version 25.0.4.1 LTS avec Temurin, et javac -version affiche javac 25.0.4.1
Sortie obtenue sous Windows avec Temurin 25.0.4.1. Avec une autre distribution ou une mise à jour plus récente, le nom et le numéro de build changent.

Lisez la première ligne : 25.0.4.1 est le numéro de version et LTS confirme qu’il s’agit d’une version à support long terme. La mention Temurin indique la distribution. La seconde commande doit afficher le même numéro : si javac répond, le JDK est complet.

Deux résultats demandent une correction :

  • le terminal ne reconnaît pas la commande : le dossier du JDK n’est pas dans le PATH (voir l’étape 4 et la partie consacrée aux erreurs) ;
  • java -version affiche une autre version, par exemple 1.8 ou 17 : un ancien Java est trouvé avant celui que vous venez d’installer.

Pour savoir quel fichier répond, demandez son emplacement. Sous PowerShell, écrivez bien where.exe : sans l’extension, where désigne une autre commande de PowerShell.

where.exe java

Si plusieurs chemins s’affichent, c’est le premier de la liste qui est utilisé. Sous macOS et Linux, la commande équivalente est which java.

Étape 4 : configurer JAVA_HOME et le PATH

Le PATH est la liste des dossiers dans lesquels le système cherche une commande quand vous tapez son nom. Si le dossier bin du JDK y figure, java et javac répondent depuis n’importe quel dossier.

JAVA_HOME est une autre variable : elle contient le chemin du dossier racine du JDK, celui qui contient bin. Java n’en a pas besoin pour fonctionner, mais des outils de construction comme Maven ou Gradle, ainsi que certains éditeurs, la lisent pour trouver le JDK. Mieux vaut donc la régler dès maintenant.

Sous Windows

  1. Dans le menu Démarrer, cherchez « variables d’environnement » et ouvrez Modifier les variables d’environnement système.
  2. Cliquez sur Variables d’environnement….
  3. Dans la partie Variables système, cliquez sur Nouvelle…. Saisissez le nom JAVA_HOME et, comme valeur, le dossier du JDK : le dossier jdk-25… situé dans C:\Program Files\Eclipse Adoptium\. Le bouton Parcourir le répertoire… évite les fautes de frappe.
  4. Si l’installeur n’a pas déjà ajouté le JDK au PATH, sélectionnez la variable Path, cliquez sur Modifier… puis sur Nouveau, et ajoutez %JAVA_HOME%\bin. Si un autre dossier Java figure dans la liste, placez celui du JDK 25 au-dessus avec Déplacer vers le haut.
  5. Validez par OK dans chaque fenêtre, puis ouvrez un nouveau terminal.

Vérifiez ensuite dans PowerShell :

$env:JAVA_HOME
where.exe java

Dans l’invite de commandes classique (cmd), la première commande s’écrit echo %JAVA_HOME%.

Sous macOS

macOS fournit l’utilitaire /usr/libexec/java_home, qui retrouve le dossier d’un JDK installé. Le terminal utilise zsh par défaut : ajoutez ces deux lignes à la fin du fichier ~/.zshrc.

export JAVA_HOME=$(/usr/libexec/java_home -v 25)
export PATH="$JAVA_HOME/bin:$PATH"

Rechargez la configuration, puis vérifiez la variable :

source ~/.zshrc
echo $JAVA_HOME

La commande /usr/libexec/java_home -V, avec un V majuscule, liste tous les JDK présents sur le Mac.

Sous Linux

Le chemin du JDK dépend de la distribution. Pour le retrouver, suivez le lien symbolique de javac :

readlink -f "$(which javac)"

Sur Ubuntu en x64, le résultat ressemble à /usr/lib/jvm/java-25-openjdk-amd64/bin/javac. JAVA_HOME correspond au dossier situé au-dessus de bin. Ajoutez la ligne correspondante à la fin de ~/.bashrc, puis rechargez le fichier avec source ~/.bashrc :

export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64

Étape 5 : compiler et exécuter un premier programme Java

Créez un dossier de travail, par exemple premier-programme, puis un fichier nommé exactement Bonjour.java. N’importe quel éditeur de texte convient. Avec le Bloc-notes de Windows, choisissez Tous les fichiers comme type au moment d’enregistrer, sinon le fichier risque de s’appeler Bonjour.java.txt.

public class Bonjour {
    public static void main(String[] args) {
        System.out.println("Bonjour, Java !");
    }
}

Ce programme déclare une classe, Bonjour, qui contient une méthode main : c’est le point d’entrée que la JVM appelle au lancement. System.out.println affiche le texte entre guillemets puis passe à la ligne. Le nom de la classe publique doit être identique au nom du fichier, majuscule comprise.

Placez-vous dans le dossier avec cd, puis compilez et exécutez :

cd premier-programme
javac Bonjour.java
java Bonjour

Le terminal affiche :

Bonjour, Java !

Quand la compilation réussit, javac n’affiche rien, mais un fichier Bonjour.class apparaît dans le dossier : il contient le bytecode. Pour l’exécuter, on donne à java le nom de la classe, sans l’extension .class.

Schéma : Bonjour.java est compilé par javac en Bonjour.class, puis la commande java lance la JVM qui affiche Bonjour, Java ! dans le terminal
De la source à l’exécution : javac produit le bytecode, puis java démarre la JVM qui l’exécute.

Ce découpage explique une propriété de Java : le même fichier Bonjour.class peut être exécuté sur Windows, macOS ou Linux, à condition qu’une JVM de version suffisante y soit installée.

Lancer directement un fichier source

Depuis Java 11 (JEP 330), la commande java accepte aussi un fichier source. Elle compile le code en mémoire puis l’exécute, sans créer de fichier .class :

java Bonjour.java

Depuis Java 22 (JEP 458), ce mode fonctionne aussi quand le programme est réparti en plusieurs fichiers source. Il est pratique pour tester un petit exemple ; pour un projet, vous compilerez avec javac ou avec un outil de construction.

La forme simplifiée introduite par Java 25

Java 25 a finalisé une écriture plus courte, pensée pour les débuts (JEP 512). Un fichier source peut contenir directement une méthode main, sans déclarer de classe ni de paramètre args. La nouvelle classe IO sert à afficher du texte :

void main() {
    IO.println("Bonjour, Java !");
}

Enregistré dans Bonjour.java, ce code affiche le même message avec java Bonjour.java. Cette forme n’est acceptée qu’à partir de Java 25. Vous rencontrerez la forme complète dans la plupart des projets et de la documentation existants : connaître les deux vous évitera des surprises.

Essayer une instruction avec JShell

JShell, fourni avec le JDK depuis Java 9, exécute une instruction dès que vous appuyez sur Entrée. Lancez-le avec la commande jshell :

|  Welcome to JShell -- Version 25.0.4.1
|  For an introduction type: /help intro

jshell> System.out.println("Bonjour depuis JShell")
Bonjour depuis JShell

jshell> 2 + 3
$2 ==> 5

jshell> /exit
|  Goodbye

Le résultat d’une expression est rangé dans une variable temporaire, ici $2, que vous pouvez réutiliser dans la suite de la session. La commande /exit quitte JShell.

Choisir un éditeur pour la suite

Le terminal et un éditeur de texte suffisent pour les premiers programmes, et ils montrent ce qui se passe réellement. Quand les fichiers se multiplient, un éditeur spécialisé aide à repérer les erreurs pendant la frappe, à compléter le code et à lancer le programme d’un clic.

  • IntelliJ IDEA : depuis la version 2025.3, JetBrains propose un seul produit. Les fonctions de l’ancienne édition Community restent gratuites, pour un usage personnel comme commercial ; les fonctions avancées demandent un abonnement, gratuit pour les étudiants et les enseignants.
  • Visual Studio Code avec l’Extension Pack for Java de Microsoft, décrit dans la documentation de VS Code. L’extension Java de Red Hat, incluse dans ce pack, recherche les JDK installés au démarrage.
  • Eclipse IDE : un environnement libre et gratuit, présent depuis longtemps dans l’écosystème Java.

Si l’éditeur ne trouve pas le JDK tout seul, indiquez-lui le dossier installé à l’étape 2 : c’est ce JDK qui compilera et exécutera votre code.

Résoudre les erreurs fréquentes

« ‘java’ n’est pas reconnu en tant que commande interne »

Sous Windows, l’invite de commandes affiche ce message :

'java' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

PowerShell formule la même erreur ainsi : « Le terme «java» n’est pas reconnu comme nom d’applet de commande, fonction, fichier de script ou programme exécutable ». Sous macOS et Linux, le message contient command not found.

Dans les trois cas, le système ne trouve pas java dans les dossiers du PATH. Fermez et rouvrez le terminal, puis vérifiez la variable comme à l’étape 4. Sous Windows, vous pouvez aussi relancer l’installeur de Temurin, choisir de modifier l’installation et activer l’ajout au PATH.

« class Bonjour is public, should be declared in a file named Bonjour.java »

Les messages de javac s’affichent en anglais, même sur un système configuré en français. Celui-ci apparaît quand le nom du fichier ne correspond pas à celui de la classe publique, par exemple une classe Bonjour enregistrée dans Salut.java :

Salut.java:1: error: class Bonjour is public, should be declared in a file named Bonjour.java
public class Bonjour {
       ^
1 error

Renommez le fichier ou la classe pour que les deux noms soient identiques.

« ‘;’ expected »

Erreur.java:3: error: ';' expected
        System.out.println("Bonjour")
                                     ^
1 error

Il manque un point-virgule à la fin d’une instruction. Le numéro qui suit le nom du fichier, ici la ligne 3, et le symbole ^ indiquent l’endroit où javac attendait ce caractère.

« Impossible de trouver ou de charger la classe principale »

Contrairement à javac, la commande java de Temurin affiche ses messages en français sur un système francophone. Voici ce qu’elle répond à java Bonjour.class :

Erreur : impossible de trouver ou de charger la classe principale Bonjour.class
Causé par : java.lang.ClassNotFoundException: Bonjour.class

Avec d’autres distributions ou sur un système en anglais, le même message commence par Error: Could not find or load main class. Deux causes reviennent souvent. La première est l’extension ajoutée par erreur, comme ci-dessus : la commande correcte est java Bonjour. La seconde : le terminal n’est pas placé dans le dossier qui contient Bonjour.class. Le message est alors le même, avec Bonjour au lieu de Bonjour.class. Revenez dans le bon dossier avec cd.

« UnsupportedClassVersionError »

Cette erreur survient quand un programme compilé avec un JDK récent est lancé par un Java plus ancien. Voici ce que donne Bonjour.class, compilé avec Java 25, quand il est exécuté par Temurin 21 :

Erreur : LinkageError lors du chargement de la classe principale Bonjour
	java.lang.UnsupportedClassVersionError: Bonjour has been compiled by a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0

Le numéro 69 correspond au format des classes produites par Java 25, et 65 à celui de Java 21. Exécutez le programme avec un Java au moins aussi récent que le JDK qui l’a compilé, ce qui revient souvent à corriger le PATH pour que le bon java soit trouvé en premier.

Questions fréquentes

Faut-il désinstaller une ancienne version de Java ?

Non. Plusieurs JDK peuvent cohabiter sur une même machine ; c’est l’ordre des dossiers dans le PATH et la valeur de JAVA_HOME qui déterminent celui qui est utilisé. Désinstallez une ancienne version seulement si aucun logiciel n’en a plus besoin.

Java est-il gratuit ?

Les distributions d’OpenJDK comme Temurin sont gratuites. Oracle JDK 25 l’est aussi, sous la licence No-Fee Terms and Conditions : selon Oracle, ses mises à jour restent couvertes par cette licence jusqu’en septembre 2028, puis passent sous une autre licence. Pour apprendre, Temurin vous évite d’avoir à suivre ces conditions.

Ai-je besoin d’un IDE pour débuter ?

Non. Le terminal et un éditeur de texte suffisent pour les premiers exercices. Un IDE devient utile quand un projet compte plusieurs fichiers ou dépend de bibliothèques externes.

Récapitulatif avant de continuer

Votre environnement est prêt si ces trois points sont vérifiés :

  • java -version et javac -version affichent la même version 25 ;
  • JAVA_HOME pointe vers le dossier du JDK, celui qui contient bin ;
  • javac Bonjour.java puis java Bonjour affichent Bonjour, Java !.

La suite du parcours Java s’appuie sur cet environnement : les prochains guides proposeront des exemples à compiler et à exécuter de la même manière.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *