Comment compiler des programmes Java : Guide convivial pour débutants sur javac, configuration du PATH et erreurs courantes

Lorsque vous commencez à apprendre Java, le premier obstacle que vous rencontrerez est la « compilation ». Écrire simplement du code source (.java) ne suffit pas pour exécuter quoi que ce soit — vous devez le compiler en utilisant la commande javac pour générer un fichier .class, et ce n’est qu’alors que le programme peut être exécuté. Dans cet article, nous résumons la procédure de compilation Java, l’utilisation de base de javac, la configuration du PATH et les solutions aux erreurs courantes des débutants — le tout présenté dans un flux que même un débutant complet peut suivre étape par étape. L’objectif est de passer de « Par où commencer pour la compilation Java ? » à taper les commandes en toute confiance sans hésitation.

Qu’est-ce que la compilation Java ?|Explication conviviale de la « compilation »

En Java, la « compilation » est le processus de conversion du code source écrit par l’homme (.java) en un format lisible par la Java Virtual Machine (JVM). Le résultat est le fichier .class, appelé bytecode.

Contrairement à des langages comme C qui compilent directement en code natif, Java effectue une étape intermédiaire — le code source est d’abord converti en bytecode, puis exécuté sur la JVM. Ce mécanisme permet au même fichier .class de fonctionner sur différents environnements OS — ce qui signifie que vous pouvez exécuter le même programme Java sur Windows, macOS ou Linux.

Un autre élément crucial à comprendre : compiler et exécuter sont des actions distinctes.

  • “javac” → gère la compilation
  • “java” → gère l’exécution

La plupart des débutants échouent parce que cette distinction leur est floue. Clarifier ces « deux rôles différents » devient la première étape la plus efficace de votre compréhension.

Préparations nécessaires avant de compiler Java

Pour compiler Java, vous devez avoir le JDK (Java Development Kit) installé. Le JRE seul ne peut pas compiler du code car l’outil de compilation javac est inclus uniquement dans le JDK.

Commencez par vérifier ceci :

javac -version

Si cette commande renvoie un numéro de version, vous êtes prêt à commencer. Si vous obtenez « command not found » ou des erreurs similaires, l’une des possibilités suivantes est très probable :

  • Le JDK n’est pas installé
  • Le JDK est installé mais le PATH n’est pas configuré
  • Vous n’avez que le JRE installé (pas de kit de développement)

La configuration du PATH est particulièrement problématique pour les utilisateurs japonais. Si le système d’exploitation ne reconnaît pas le chemin jusqu’à javac.exe (ou le répertoire /bin), la compilation ne fonctionnera pas.

Conclusion : « Préparer le JDK » et « Vérifier le PATH » — ce sont seulement ces deux éléments qui vous permettent de vous tenir à la ligne de départ réelle de la compilation Java.

Commençons réellement à compiler un fichier Java

Ici, nous allons créer un code d’exemple et confirmer la procédure de compilation avec javac. Tout d’abord, enregistrez le contenu suivant avec un éditeur de texte.

Sample.java

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

Le nom du fichier doit être Sample.java, et le nom de la classe publique doit correspondre au nom du fichier. Si cette règle est violée, la compilation échouera — c’est l’une des erreurs les plus courantes chez les débutants.

Ensuite, exécutez la commande suivante dans le terminal / invite de commandes :

javac Sample.java

Si tout s’exécute normalement, Sample.class sera généré dans le même dossier. Cela indique que la « compilation est terminée ».

Ainsi, à ce moment-là :

  • Sample.java (source)
  • Sample.class (bytecode)

Cette paire est maintenant prête. À ce stade, vous êtes prêt à « exécuter un programme Java ».

Comment l’exécuter après la compilation

Une fois la compilation terminée, l’étape suivante consiste à exécuter le fichier .class. La commande utilisée ici est java — pas javac.

java Sample

Point clé : ne pas écrire l’extension .class. Écrire java Sample.class provoquera une erreur. Java est conçu pour exécuter en fonction du nom de la classe (sans extension).

Résumé organisé :

RoleCommandTarget
Compilejavac Sample.java.java file
Runjava SampleClass name (without extension)

Si vous comprenez le changement de rôle entre javac et java, vous avez franchi l’étape du débutant.

Si « Hello Java! » apparaît correctement, le processus a fonctionné.
À ce stade, vous avez compris le flux minimal de Java.

Erreurs fréquentes et comment les corriger

Lors de la compilation Java, rencontrer des erreurs au début est tout à fait normal.
Ici, nous nous concentrons uniquement sur les erreurs que les débutants japonais rencontrent particulièrement.

1) javac: command not found / 'javac' is not recognized…

Dans près de 100 % des cas, la raison est l’une des suivantes :

  • Le JDK n’est pas installé
  • Le PATH n’est pas configuré

Solution :
Exécutez javac -version pour vérifier
→ Si rien n’apparaît, réinstallez le JDK et vérifiez la configuration du PATH.

2) La compilation réussit mais aucun fichier .class n’est généré

Le problème le plus courant chez les débutants japonais est le suivant :

Le nom du fichier et le nom de la classe publique ne correspondent pas

Exemple — Si Sample.java contient :

public class Test {
}

→ Cela entraînera une erreur de compilation.

3) Avertissements liés à l’encodage des caractères

warning: [options] bootstrap class path not set in conjunction with -source 1.7

Les avertissements comme ceux-ci ne sont pas fatals dans la plupart des cas.
Cependant, ils peuvent indiquer des paramètres de version obsolètes ou un encodage incompatible.
Enregistrer les fichiers en UTF‑8 est le choix le plus sûr.

Compilation à l’aide d’un IDE

Dans le développement Java réel, vous ne tapez rarement javac manuellement dans le terminal à chaque fois.
C’est parce que l’IDE (Integrated Development Environment) gère automatiquement la compilation en arrière-plan.

Les trois IDE suivants sont extrêmement populaires au Japon et sont également pratiques pour l’apprentissage :

IDECharacteristics
IntelliJ IDEAThe de-facto standard for modern Java development. Suitable for professional use.
EclipseLong history, widely used in enterprise projects.
VSCodeLightweight. Java Extension Pack enables a proper Java environment.

Dans les IDE, la compilation se produit automatiquement à chaque fois que vous enregistrez un fichier — et les emplacements d’erreur sont instantanément visualisés.
Cela signifie que vous pouvez contourner les obstacles des débutants tels que « taper javac par erreur » ou « configuration incorrecte du PATH ».

Cependant, il est toujours vrai que il y a une grande valeur à expérimenter manuellement javac au moins une fois afin de comprendre le fonctionnement de Java.
Une fois que vous comprenez le flux « compiler → exécuter » à la main, votre vitesse de compréhension augmente considérablement lorsque vous passez au développement basé sur l’IDE.

Bases des options de javac

javac n’est pas seulement un « convertisseur .java → .class ». Vous pouvez attacher plusieurs options pour contrôler le comportement de la compilation.
Mais à l’étape débutante, vous n’avez pas besoin de tout mémoriser — connaître uniquement les options les plus couramment utilisées suffit.

Voici trois options représentatives :

OptionMeaningExample
-dSpecify output directory for .class filesjavac -d out Sample.java
-classpathSpecify classpath for external libraries / other directoriesjavac -classpath lib/* Sample.java
--enable-previewEnable preview language featuresjavac --enable-preview Sample.java

En particulier, -d est presque obligatoire lorsqu’on utilise des packages.
Par exemple, si vous écrivez package com.example;, vous devez utiliser javac -d pour générer correctement la structure de répertoires dans le répertoire de sortie.

À mesure que vous passez au travail réel, la spécification du classpath et l’utilisation de -d augmentent considérablement.
Se simplement familiariser avec ces noms à ce stade rend l’apprentissage ultérieur plus fluide.

Résumé

Pour exécuter des programmes Java, vous devez comprendre la séquence en trois étapes : écrire le code source → compiler → exécuter.
Surtout si vous séparez mentalement les rôles de javac (compilation) et java (exécution), la raison « pourquoi la compilation est nécessaire » devient soudainement claire.

De plus, les débutants se retrouvent généralement bloqués à ces deux points :

  • Le JDK n’est pas installé / le PATH n’est pas configuré
  • Le nom du fichier et le nom de la classe publique ne sont pas les mêmes

Si vous résolvez simplement ces deux points, vous éviterez de grands détours dans la phase d’apprentissage.
Après vous être habitué aux bases, passer au développement avec un IDE est tout à fait acceptable.
Cependant, savoir si vous « comprenez le mécanisme interne » est ce qui crée plus tard une différence de vitesse de compréhension.

Utilisez cet article comme point de départ et complétez d’abord avec succès la conversion .java → .class une fois.
C’est la première étape de réussite dans l’apprentissage de Java.

FAQ : Questions fréquentes sur la compilation Java

Q1 : Quelle est la différence entre javac et java ?
R : javac est la commande de compilation — elle convertit .java en .class.
En revanche, java est la commande d’exécution — elle exécute le .class sur la JVM.

Q2 : Sample.class n’est pas généré. Quelle est la cause ?
A : La cause la plus courante est que le nom du fichier et le nom de la classe publique ne correspondent pas.
 Si la classe est public class Sample, alors le fichier doit être Sample.java.

Q3 : Si j’utilise un IDE, n’ai-je plus besoin d’apprendre javac ?
A : Les IDE compilent automatiquement en arrière-plan, mais si vous ne comprenez pas le mécanisme, il devient plus difficile de saisir ce qui se passe réellement.
 Faire l’expérience du flux de base une fois aide à comprendre plus rapidement le comportement de l’IDE.

Q4 : Quel JDK dois-je installer ?
A : Pour les débutants, les builds LTS Temurin (Eclipse Adoptium) sont faciles à utiliser.
 Si vous n’avez pas de raison spécifique, choisissez Java 17 ou 21.

Q5 : J’obtiens javac: command not found
A : Soit le JDK n’est pas installé, soit PATH n’est pas configuré.
 Exécutez d’abord javac -version pour vérifier s’il est reconnu.