Tutoriel Apache ANT : Qu'est-ce que l'outil Ant Build ? Exemple

⚡ Résumé intelligent

Apache ANT est un Java Outil de construction basé sur XML qui automatise la compilation, les tests, l'empaquetage et le déploiement via un fichier de construction XML. Cet article définit l'outil. tracson histoire, couvre Windows L'installation explique la structure du projet et la compare à Maven et Gradle.

  • (I.e. Définition principale : Ant est l'acronyme de Another Neat Tool (Un autre outil pratique), et il convertit le code source en une application exécutable à partir de la ligne de commande.
  • 📄 Fichier de construction : Chaque instruction réside dans un fichier XML, généralement nommé build.xml, qui ne nécessite aucun langage de programmation supplémentaire.
  • 🧱 Structure à trois nœuds : Un fichier de construction imbrique toujours les tâches à l'intérieur des cibles, et les cibles à l'intérieur d'un seul élément de projet.
  • 🔗 Contrôle des dépendances : L'attribut depends ordonne les cibles, de sorte que la compilation s'exécute toujours avant le jar et avant le déploiement.
  • ⚙️ Configuration de l'environnement : L'installation nécessite un JDK, la variable ANT_HOME et l'ajout du dossier bin d'Ant au chemin système.
  • ???? Comparaison des outils : Ant offre une liberté procédurale, Maven impose des conventions grâce à la gestion des dépendances, et Gradle combine les deux avec une compilation scriptée.
  • 🌍 Avantage lié à la portabilité : Une compilation s'exécute de manière identique sur Windows et Linux partout où Java Une machine virtuelle est disponible.

Tutoriel Apache ANT

Qu'est-ce qu'un outil de construction ?

Un outil de construction est un outil de programmation utilisé pour créer une nouvelle version d'un programme. Il automatise la création d'une application exécutable à partir de n'importe quel code source.

Sans outil de compilation, un développeur devrait compiler manuellement chaque fichier source, copier les ressources, exécuter les tests et empaqueter le résultat à chaque modification. Un outil de compilation enregistre ces étapes une seule fois et les répète à l'identique sur chaque machine.

Qu’est-ce qu’Apache Ant ?

Fourmi Apache est une Java-outil de ligne de commande basé sur la construction Java applications avec la portabilité totale de pure Java Ant est un outil qui permet aux développeurs d'adopter les principes agiles et le développement piloté par les tests afin d'automatiser les tâches de développement répétitives, comme la génération de documentation. Ant est l'acronyme de « Another Neat Tool » (Un autre outil pratique).

Fourmi Apache

Comme le montre le schéma, Ant lit un fichier de construction, détermine l'ordre des cibles qu'il contient, puis exécute les tâches individuelles qui compilent, copient, testent et empaquetent l'application.

À quoi sert l’outil Apache Ant Build ?

Voici les principaux avantages de l'utilisation de l'outil de construction :

  • Un outil de construction permet d'automatiser des tâches répétitives spécifiques telles que la compilation du code source, l'exécution des tests logiciels et la création de fichiers pour le déploiement du logiciel.
  • Les outils de build fonctionnent principalement sans interface utilisateur graphique.
  • Il vous aide à convertir le code source en code exécutable.
  • Il offre la possibilité de recompiler un fichier uniquement si nécessaire.
  • Il vous permet de compiler un grand nombre de fichiers en un temps relativement court.
  • Deux outils de construction très populaires utilisés par Java Les développeurs sont Apache Maven et Fourmi.

Histoire de la fourmi Apache

Nous allons maintenant découvrir l'histoire de l'outil de construction Apache Ant.

Voici les repères historiques importants de l’outil Apache Ant :

  • James Duncan Davidson a créé Ant en juillet 2000.
  • Il a été initialement utilisé pour construire Tomcat et était fourni comme produit intégré au kit de distribution Tomcat.
  • En mai 2014, la version 1.9.4 d'Apache Ant a été publiée avec de nombreuses fonctionnalités avancées.
  • La branche 1.10.x a débuté en 2017 et reste la branche activement maintenue.
  • La version 1.10.17 a été publiée le 10 avril 2026 et nécessite une configuration minimale. Java 8 minutes d'exécution.

Caractéristiques d'Apache Ant

Voici les caractéristiques essentielles d'Apache Ant :

  • C'est un projet open source.
  • Il vous permet d'exécuter des builds sur les deux Windows et les systèmes UNIX ou Linux.
  • Vous n'avez besoin que d'un JVM, car il s'exécute partout où une JVM est disponible.
  • Il offre un large éventail de tâches prédéfinies.
  • Il vous permet de copier des fichiers d'un emplacement à un autre.
  • Elle offre une interface permettant de développer des tâches personnalisées.
  • Il vous permet de lancer des compilations depuis la ligne de commande, ce qui s'intègre facilement avec IDE gratuits et commerciaux.
  • Il vous permet de déployer les fichiers binaires sur un serveur de test.
  • Elle offre une architecture extensible.
  • Il offre une compatibilité ascendante entre les différentes versions.

Comment installer et configurer Apache Ant sur Windows

Nous allons maintenant apprendre le processus d'installation d'Apache Ant sur Windows.

Nous supposons que vous avez déjà téléchargé et installé le Java Kit de développement (JDK) sur votre ordinateur. Assurez-vous que la variable d'environnement JAVA_HOME pointe vers le dossier d'installation de votre JDK. Suivez les étapes ci-dessous pour installer Ant :

Étape 1) Téléchargez les binaires.
Téléchargez les binaires à partir de https://ant.apache.org/bindownload.cgi

Installer et configurer Apache Ant sur Windows

Étape 2) Décompressez les fichiers.
Décompressez ce fichier zip dans un emplacement pratique tel que c:\dossier, en utilisant WinZip, WinRAR, 7-Zip, ou un outil similaire.

Installer et configurer Apache Ant sur Windows

Étape 3) Créez une variable d'environnement.
Créez une variable d'environnement nommée « ANT_HOME » et attribuez-lui la valeur correspondant à l'emplacement du dossier Ant.

  1. Faites un clic droit sur l'icône Ce PC.
  2. Cliquez sur Propriétés.

Installer et configurer Apache Ant sur Windows

Étape 4) Accédez aux paramètres système.
Cliquez sur « Paramètres système avancés ».

Installer et configurer Apache Ant sur Windows

Étape 5) Sur les propriétés du système,
Cliquez sur l'onglet « Avancé ».

Installer et configurer Apache Ant sur Windows

Étape 6) Trouvez les variables d'environnement.
Cliquez sur le bouton « Variables d’environnement… ».

Installer et configurer Apache Ant sur Windows

Étape 7) Créez une nouvelle variable.
Cliquez sur « Nouveau » pour créer une nouvelle variable utilisateur.

Installer et configurer Apache Ant sur Windows

Étape 8) Saisissez les détails de la variable.
Saisissez les détails de la nouvelle variable utilisateur.

  1. Saisissez le nom de la variable comme suit : ANT_HOME.
  2. Saisissez la valeur de la variable comme le dossier dans lequel Ant a été décompressé, par exemple C:\apache-ant-1.10.17.
  3. Cliquez sur le bouton «OK».

Installer et configurer Apache Ant sur Windows

Étape 9) Variable créée.
Cliquez sur le bouton «OK».

Installer et configurer Apache Ant sur Windows

Étape 10) Fermez l'écran.
Cliquez sur « OK » pour fermer l'écran.

Installer et configurer Apache Ant sur Windows

Astuce : La variable ANT_HOME doit pointer vers le dossier d'installation lui-même, et non vers le dossier bin qu'il contient. Ensuite, ajoutez %ANT_HOME%\bin à la variable Path, afin que la commande ant soit reconnue depuis n'importe quel répertoire.

Vous pouvez vérifier qu'une installation d'Ant a réussi en tapantping la commande « ant -version » dans l’invite de commandes.

Vous verrez l'écran suivant:

Installer et configurer Apache Ant sur Windows

Exemple d'Apache ANT

Le fichier de configuration ci-dessous définit une cible unique nommée « hello » qui affiche un message. L'élément « project » déclare un nom et une cible par défaut, afin qu'Ant sache quelle commande exécuter lorsqu'aucune cible n'est spécifiée sur la ligne de commande.

<?xml version="1.0"?>
<project name="HelloWorld" default="hello" basedir=".">

    <target name="hello">
        <echo>Hello, World</echo>
    </target>

</project>

Enregistrez ce fichier sous le nom « build.xml », puis suivez ces deux étapes :

  • Ouvrez l'invite de commandes et accédez au répertoire contenant le fichier build.xml.
  • Courir ant hello, ou simplement ant, car « hello » est déclaré comme cible par défaut. Pour utiliser un autre nom de fichier, exécutez ant -f mybuild.xml hello.

Sortie :

Buildfile: C:\projects\demo\build.xml

hello:
     [echo] Hello, World

BUILD SUCCESSFUL
Total time: 0 seconds

Structure du projet ANT

Structure du projet ANT

Structure du projet ANT

Comme le montre le schéma de structure, chaque construction comprendra trois nœuds :

  • Projet
  • Target
  • Tâche

Projet

Tout ce qui se trouve dans le fichier de construction dans Apache ANT se trouve dans un projet.

Attributs:

  • Nom : Le nom du projet.
  • Basé : Il s'agit du répertoire à partir duquel tous les chemins seront calculés. Ce comportement peut être modifié à l'aide de la propriété « basedir ».
  • Valeur par défaut: Permet de définir la cible par défaut pour ce projet. Si aucune cible n'est spécifiée, Ant exécutera la cible par défaut.

Target

Une cible est un ensemble de tâches définies pour atteindre un état spécifique du processus de construction.

Attributs:

  • Nom : Nom de la cible (obligatoire).
  • Description : Descriptionisation de la cible.
  • Dépend: De quelle cible dépend cette cible actuelle ?
  • Si: Exécute la cible uniquement si une valeur est définie pour une propriété cible.
  • Sauf si: N'exécute la cible que si la valeur de la propriété n'est pas définie.

Tâches

Une tâche est un fragment de code exécutable. Les tâches possèdent plusieurs arguments ou attributs.

La méthode générale pour écrire une tâche est la suivante :

<name attribute1="value" attribute2="value2"…/>

Vous pouvez utiliser une tâche intégrée ou créer votre propre tâche. Le tableau ci-dessous répertorie les tâches qui apparaissent dans presque tous les cas. Java fichier de construction.

Tâche Interet Attributs typiques
echo Afficher un message sur la console message
mkdir Créer un annuaire dir
delete Supprimer des fichiers ou des répertoires répertoire, inclure les répertoires vides
javac Compiler Java fichiers source srcdir, destdir, includeantruntime
feu Regrouper les classes dans une archive JAR fichier de destination, répertoire de base
copier Copier des fichiers entre différents emplacements fichier, répertoire
Junit Exécuter des tests unitaires échec de Halton, résumé des impressions

Exemple complet de fichier build.xml avec plusieurs Targets

Un fichier de configuration réaliste enchaîne plusieurs cibles. L'attribut `depends` garantit l'ordre d'exécution : Ant nettoie le répertoire de sortie, compile le code source, puis génère le fichier JAR.

<?xml version="1.0"?>
<project name="DemoApp" default="jar" basedir=".">

    <!-- reusable values -->
    <property name="src.dir"   value="src"/>
    <property name="build.dir" value="build"/>

    <target name="clean" description="Remove previous output">
        <delete dir="${build.dir}"/>
    </target>

    <target name="compile" depends="clean" description="Compile sources">
        <mkdir dir="${build.dir}/classes"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}/classes"
               includeantruntime="false"/>
    </target>

    <target name="jar" depends="compile" description="Package the jar">
        <mkdir dir="${build.dir}/jar"/>
        <jar destfile="${build.dir}/jar/DemoApp.jar"
             basedir="${build.dir}/classes">
            <manifest>
                <attribute name="Main-Class" value="com.guru99.Main"/>
            </manifest>
        </jar>
    </target>

</project>

Sortie :

Buildfile: C:\projects\DemoApp\build.xml

clean:
   [delete] Deleting directory C:\projects\DemoApp\build

compile:
    [mkdir] Created dir: C:\projects\DemoApp\build\classes
    [javac] Compiling 3 source files to C:\projects\DemoApp\build\classes

jar:
    [mkdir] Created dir: C:\projects\DemoApp\build\jar
      [jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar

BUILD SUCCESSFUL
Total time: 1 second

Apache Ant vs Maven vs Gradle

Trois outils de construction dominent le Java écosystème, et chacun adopte une position différente quant au degré de structure à imposer.

Paramètres Fourmi Apache Apache Maven Gradle
Format du script de construction XML XML Groovy ou Kotlin DSL
Approche Procédural, vous définissez chaque étape Déclaratif, la convention prime sur la configuration Déclaratif avec extensions scriptées
Gestion des dépendances Non intégré, ajouté via Apache Ivy Intégré avec un dépôt central Intégré, compatible Maven
Structure du projet Complètement libre disposition standard fixe Basé sur une convention mais modifiable
Constructions incrémentielles Édition Édition Oui, avec un cache de compilation
Courbe d'apprentissage Faible pour les utilisateurs XML Modérée Plus raide, nécessite le DSL
Le mieux adapté pour Projets hérités et constructions hautement personnalisées Standard Java projets Grands modules multiples et Android projets

Ant reste le choix pragmatique lorsqu'une configuration ne correspond pas à une disposition standard, ou lorsqu'un projet existant dépend déjà de cibles écrites à la main.

Meilleures pratiques d'utilisation d'Apache Ant

Voici quelques bonnes pratiques pour l'utilisation d'Apache Ant.

  • Vous devez automatiser la numérotation des builds à l'aide de fichiers de propriétés.
  • Mettez en œuvre une configuration de compilation personnalisable grâce aux fichiers de propriétés par défaut et de compilation. Ces fichiers vous permettent de stocker les propriétés qui définissent les données de votre processus de compilation, telles que la version du compilateur et les paramètres d'optimisation.
  • Vous pouvez réutiliser des bibliothèques prédéfinies à l'aide de fichiers de propriétés de bibliothèque.
  • Attribuez à chaque cible un attribut de description, afin que ant -projecthelp liste un résumé utilisable de la configuration.
  • Conservez le répertoire cible propre séparément et ne supprimez jamais un répertoire contenant également des fichiers sources.

Avantages de l'utilisation d'Apache Ant

Voici les avantages de l'utilisation d'Apache Ant :

  • Ant est indépendant de toute plateforme, ce qui vous permet de gérer les propriétés spécifiques à chaque plateforme, telles que les séparateurs de fichiers.
  • Ant vous permet d'effectuer des tâches spécifiques à la plateforme, comme la modification de la date de modification d'un fichier à l'aide de la commande « touch ».
  • Les scripts Ant sont écrits en langage clair. XMLSi vous êtes déjà familiarisé avec XML, vous pourrez apprendre Ant rapidement.
  • Ant propose une longue liste de tâches prédéfinies.
  • Elle offre une interface pour le développementping tâches personnalisées.
  • Vous pouvez facilement lancer Ant depuis la ligne de commande, ce qui permet l'intégration avec les IDE gratuits et commerciaux.
  • Vous n'avez besoin que d'une JVM, donc il fonctionne partout où une JVM est disponible.
  • Apache Ant est une bibliothèque open source qui permet aux utilisateurs d'accéder au code source et de le reproduire.
  • Apache Ant est un outil multiplateforme qui vous permet de gérer Java le chemin de classe et la structure des répertoires de fichiers de manière abordable.
  • Apache Ant est facilement extensible en utilisant Java et d'autres langages de programmation.
  • Apache Ant offre une prise en charge intégrée du développement J2EE, notamment la compilation et le packaging EJB.
  • Vous pouvez l'utiliser aussi bien pour un petit projet personnel que pour un grand projet logiciel ou un site web.

Ant est fréquemment associé à un outil d'exécution de tests et à un serveur d'intégration continue. Voir JUnit pour la couche de test, Jenkins pour les compilations planifiées, et utilisation d'Apache Ant avec Selenium pour l'automatisation des tests de navigateur. Les rapports générés lors d'une compilation peuvent être rendus avec JasperRapports.

FAQ

Ant est l'acronyme de Another Neat Tool (Un autre outil pratique). James Duncan Davidson l'a créé en juillet 2000 alors qu'il travaillait sur le développement de Tomcat, et il a été donné à la communauté Apache Software. Foundation.

Non, mais Ant recherche par défaut le fichier build.xml dans le répertoire courant. Tout autre nom convient lorsqu'il est spécifié avec l'option -f ou -buildfile sur la ligne de commande.

Pas seul. Apache Ivy est le projet complémentaire qui ajoute la résolution des dépendances et qui peut télécharger des artefacts à partir des mêmes dépôts que Maven.

Le dossier bin est absent de la variable d'environnement PATH, ou la variable ANT_HOME pointe vers un répertoire incorrect. Ouvrez une nouvelle invite de commandes après avoir modifié les variables, car les fenêtres ouvertes conservent les anciennes valeurs.

Oui, pour les cibles de compilation, de JAR et de test standard. Vérifiez les entrées du classpath et l'attribut includeantruntime, car les fichiers générés les omettent souvent et produisent des avertissements déroutants.

Oui, pour préserver l'héritage Java systèmes, pour lesquels la migration de la version existante est difficilement réalisable à moindre coût. Les nouveaux projets débutent généralement avec Maven ou Gradle, que les outils d'IA permettent également de structurer de manière plus fiable.

Résumez cet article avec :