Maven
Apache Maven est un outil complet de gestion de projet logiciel Java, J2EE… dans la mesure où il accompagne la production de code dans toutes les phases de son cycle de vie. C’est un outil plus complet que Ant. Il est indispensable pour tout ce qui a trait à la gestion transitive des dépendances, la compilation, les tests unitaires et le déploiement.
Maven possède un système de plugins permettant d'ajouter des fonctionnalités au besoin (sur le même principe que la création de nouvelles tâches Ant en Java).
Des gestionnaires de dépôts sont associés à Maven (http://maven.apache.org/repository-management.html) permettant de construire un dépôt local des différents dépôts des composants logiciels constituant votre projet. Cela permet de limiter les requêtes réseau si il y a de nombreux développeurs, de filtrer les composants selon leur licence par exemple, de suivre les nouvelles versions, de configurer les déploiements de votre projet, ou bien de mettre à disposition vos propres dépendances non disponibles sur des dépôts tiers.
À travers ses plugins, Maven publie des archives au format JAR ou ZIP.
Le fichier de configuration d'un projet (le Project Object Model) est stocké en XML.
Au CERMA c'est un outil que nous utilisons (ou avons utilisé) quotidiennement dans le cadre du développement des projets GearScape et OrbisGIS pour la gestion transitive des dépendances, la compilation, les tests unitaires et le déploiement.
Ce logiciel est également utilisé dans le cadre de TPs Java / JEE où sa gestion des dépendances et les différents plugins d'exécution et de test permettent de gagner du temps et de minimiser l'impact sur la configurations des machines de TP. Le système de génération d'archetypes (mini-projets préconfigurés) est particulièrement utile de ce point de vue.
Commentaires
Plugin C/C++
Suite à une discussion privée avec l'auteur sur la disponibilité de plugins C/C++, je me permets d'ajouter cette note concernant la source http://everythingiswrong.free.fr/index.php/2011/07... qui indique maven-nar-plugin comme une alternative utilisable "presque sans effort" ("Lorsque j’écris “presque” sans effort c’est tout simplement parce que les plugins nécessaires ne sont pas encore disponible sur le repository central." indique l'auteur en 2011.)
Guides de référence en français
Deux guides de référence sont traduits en français et disponibles ici : http://maven-guide-fr.erwan-alliaume.com/
Une série de tutoriels (en anglais)
88 tutoriels maven en anglais sont disponibles à l'adresse : http://www.avajava.com/tutorials/categories/maven