Exécuter une tâche Ant avec Maven

Exécuter une tâche Ant avec Maven

1. introduction

Maven et Ant sont deux outils d’automatisation de la construction bien connus pour Java. Bien que la plupart du temps, nous n'utilisons qu'un seul d'entre eux, il y a des cas où il est logique d'utiliser les deux ensemble.

A common use case is when working on a legacy project that uses Ant, and we want to introduce Maven gradually tout en gardant en place certaines tâches Ant existantes.

Dans ce didacticiel, nous expliquerons comment procéder à l'aide du plug-in Maven AntRun.

2. Plugin MavenAntRun

Maven AntRun Plugin nous permet d'exécuter des tâches Ant dans Maven.

2.1. Ajout du plugin

Pour utiliser ce plugin, nous devons l'ajouter aux plugins de compilation de notre projet Maven:


    org.apache.maven.plugins
    maven-antrun-plugin
    1.8
    
        ...
    

La dernière version du plugin peut être trouvée sur leMaven Central (bien qu'elle n'ait pas été mise à jour depuis longtemps).

2.2. Exécutions de plugins

Comme pour tout autre plugin Maven, pour utiliser le plugin AntRun, nous devons définir des exécutions.

Dans l'exemple ci-dessous, nous définissons une exécution liée aupackage phase de Maven, qui compressera le fichier JAR final à partir du répertoire cible du projet:


    org.apache.maven.plugins
    maven-ant-run-plugin
    1.8
    
        
            zip-artifacts
            package
            
                run
            
            
                
                    
                
            
        
    

Pour exécuter le plugin, nous lançons la commande:

mvn package

Puisque nous avons déclaré que notre plugin s'exécutait pendant la phasepackage de Maven, l'exécution de l'objectifpackage de Maven exécutera notre configuration de plugin ci-dessus.

3. Exemple d'utilisation du fichierbuild.xml

En plus de nous permettre de définir des cibles Ant dans la configuration du plugin, nous pouvons également utiliser un fichier Antbuild.xml existant.

3.1. build.xml

Voici un exemple de fichier Antbuild.xml d'un projet avec une cible définie pour télécharger des fichiers zip du répertoire de base du projet vers un serveur FTP:


   Project Description

   ...

    
        
            
            
        
    

3.2. Configuration du plugin

Pour utiliser le fichierbuild.xml ci-dessus, nous définissons l'exécution dans notre déclaration de plugin:


    deploy-artifact
    install
    
        run
    
    
        
            
                
            
        
    

Étant donné que la tâcheftp n’est pas incluse dansant.jar, nous devons ajouter les dépendances facultatives de Ant à la configuration de notre plugin:


    
       ...
    
    
        
            commons-net
            commons-net
            1.4.1
        
        
            org.apache.ant
            ant-commons-net
            1.8.1
        
    

Pour exécuter le plugin, nous lançons la commande:

mvn install

4. Conclusion

Dans ce court article, nous avons discuté de l'exécution de tâches Ant avec le pluginAntRun de Maven. Même s'il s'agit d'un plugin très simple, n'ayant qu'un seul objectif, ce plugin peut s'avérer efficace dans les projets et les équipes qui préfèrent l'utilisation d'Ant pour des instructions de construction spécifiques.

Et, si vous voulez en savoir plus sur Ant et Maven, vous pouvez lire nosarticle, en comparant ces deux - avec Gradle.