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.
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).
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
É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.
É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.
- Faites un clic droit sur l'icône Ce PC.
- Cliquez sur Propriétés.
Étape 4) Accédez aux paramètres système.
Cliquez sur « Paramètres système avancés ».
Étape 5) Sur les propriétés du système,
Cliquez sur l'onglet « Avancé ».
Étape 6) Trouvez les variables d'environnement.
Cliquez sur le bouton « Variables d’environnement… ».
Étape 7) Créez une nouvelle variable.
Cliquez sur « Nouveau » pour créer une nouvelle variable utilisateur.
Étape 8) Saisissez les détails de la variable.
Saisissez les détails de la nouvelle variable utilisateur.
- Saisissez le nom de la variable comme suit : ANT_HOME.
- Saisissez la valeur de la variable comme le dossier dans lequel Ant a été décompressé, par exemple C:\apache-ant-1.10.17.
- Cliquez sur le bouton «OK».
Étape 9) Variable créée.
Cliquez sur le bouton «OK».
Étape 10) Fermez l'écran.
Cliquez sur « OK » pour fermer l'écran.
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:
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 simplementant, car « hello » est déclaré comme cible par défaut. Pour utiliser un autre nom de fichier, exécutezant -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
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 -projecthelpliste 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.














