Apache Maven

Apache Maven
Description de l'image Apache Maven logo.svg.

Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version
Dernière version 3.9.9 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/apache/mavenVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Formats lus Maven metadata (d)Voir et modifier les données sur Wikidata
Formats écrits Maven metadata (d)Voir et modifier les données sur Wikidata
Type Automate de construction
Gestionnaire de paquetsVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web maven.apache.orgVoir et modifier les données sur Wikidata

Apache Maven (couramment appelé Maven) est un outil de gestion et d'automatisation de production des projets logiciels Java en général et Java EE en particulier. Il est utilisé pour automatiser l'intégration continue lors d'un développement de logiciel. Maven est géré par l'organisation Apache Software Foundation. L'outil était précédemment une branche de l'organisation Jakarta Project.

L'objectif recherché est de produire un logiciel à partir de ses sources, en optimisant les tâches réalisées à cette fin et en garantissant le bon ordre de fabrication.

Il peut se comparer au système make sous Unix ou à l'outil Ant.

Maven utilise un paradigme connu sous le nom de Project Object Model (POM) afin de décrire un projet logiciel, ses dépendances avec des modules externes et l'ordre à suivre pour sa production. Il est livré avec un grand nombre de tâches prédéfinies, comme la compilation de code Java ou encore sa modularisation.

Un élément clé et relativement spécifique de Maven est son aptitude à fonctionner en réseau. Une des motivations historiques de cet outil est de fournir un moyen de synchroniser des projets indépendants : publication standardisée d'information, distribution automatique de modules jar. Ainsi en version de base, Maven peut dynamiquement télécharger du matériel à partir des dépôts logiciels connus. Il propose ainsi la synchronisation transparente de modules nécessaires.

Maven1 et Maven2 ont été développés en parallèle mais les versions ultérieures sont fondées sur la structure de la deuxième version. Les parties suivantes de l'article traitent en priorité Maven2. Une version 3 de Maven est sortie le . La fin de support de la version 2 a été actée le [2].

  1. « Release Notes - Maven - Version 3.9.9 », (consulté le )
  2. « Maven – Maven Releases History », sur maven.apache.org (consulté le )