Introduction à Apache Maven et Apache Archiva par Jean-Sébastien FRANCK

Introduction

Qu'est ce que Maven ?

Apache Maven (http://maven.apache.org) est un outil permettant la gestion et l'automatisation de la production des projets Java.

Il permet donc, de la même manière que Make pour les projets en C et également Ant pour les projets en Java de créer le build résultant d'un projet. Par build est appelé le résultat de la compilation d'un projet. Dans un projet Java, il peut s'agir d'un fichier au format .jar, .war ou .ear.

Ce outil permet également de gérer les librairies nécessaires pour un projet, de gérer les tests unitaires, de déployer le build du projet ou encore de générer des informations sur le projet.

Comparatif avec Ant

Maven et Ant ne sont pas des concurrents. Ils sont en effet tous les deux développés par Apache et bien qu'ils aient des fonctionnalités communes, leur fonctionnement fait que dans certains cas, il est préférable d'utiliser Ant, et dans d'autres cas il est préférable d'utiliser Maven.

En effet, Maven présente certains avantages par rapport à Ant qui font que son utilisation est plus adaptée à un environnement multi-projet et/ou à un environnement avec de nombreux collaborateurs. On peut notamment citer le fait que les tâches existantes sous Maven sont très facilement réutilisables et que le cycle de vie du projet est complètement modifiable par le développeur. De plus, avec Maven, il y a une standardisation de la manière de travailler sur un projet (notion d'archetype).

En contrepartie, l'utilisation de Ant est moins contraignante car il n'est par exemple pas nécessaire d'utiliser un serveur Archiva dès que l'on souhaite utiliser ces propres librairies dans un projet. Avec Maven, l'utilisation d'un tel serveur n'est pas non plus une obligation, mais c'est fortement conseillé (ces points sont plus amplement développés dans la partie sur Archiva). Enfin, la prise en main de Ant est plus aisée que celle de Maven.



Fonctionnement général >>