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 :