Pour commencer forcément : http://maven.apache.org/
La dernière version est actuellement Maven 3.2.1
L'historique des versions est disponible sous http://maven.apache.org/docs/history.html
Maven c'est quoi
Maven dans les grandes lignes c'est (http://maven.apache.org/what-is-maven.html) :
- un outil pour "builder" les projets Java avec un cylcle de vie bien défini.
- un outil qui permet de gérer les dépendances aux librairies externes.
- un outil qui peut distribuer/versionner les librairies Java via les systèmes de repository (local, intranet, internet).
Les solutions alternatives
Les premières alternatives plus rudimentaires sont le scripting (sh, bat, ...) ou le make. En dehors de ces dernières il existe principalement trois autres solutions plus évoluées
Ant : http://ant.apache.org/
L'un des premiers à avoir permis de scripter des builds de projets Java en standardisant des tasks.
Ant et Ivy : https://ant.apache.org/ivy/
Ivy pour une gestion de dépendances dite agile qui est devenu officiellement un sous projet de Ant en 2007 (Mail de passage à l'incubator) permettant ainsi une complémentarité de ces deux projets.
Gradle : http://www.gradle.org/
Solution open source dont la communauté est drivé par GradleWare. Le code est disponible sous GitHub.
Gradle, Ivy et Maven via des plugins peuvent s'intégrer dans les différentes EDI (Eclipse, NetBeans, IntelliJ)
- https://ant.apache.org/ivy/links.html
- http://www.gradle.org/tooling
- http://maven.apache.org/eclipse-plugin.html
- http://maven.apache.org/netbeans-module.html
Maven c'est aussi un outil en ligne de commande
Maven un outil en ligne de commande qui s'étend par système de plugin. Il en existe de très nombreux maintenus par Apache Maven ou d'autre organisations.
Ces plugins permettent d'apporter de nouvelles fonctionnalités (déploiement sur des serveurs applicatifs, visualisation de dépendances, couverture de code par les tests unitaires, ...) ou peuvent faciliter l'intégration dans d'autres outils comme les serveurs d'intégration continu tel Jenkins.
Quelques plugins : http://maven.apache.org/plugins/index.html
En plus des plugins existant chacun peut développer les siens, adaptés à ses besoins
- http://maven-guide-fr.erwan-alliaume.com/maven-guide-fr/site/reference/writing-plugins-sect-custom-plugin.html
- http://maven.apache.org/ref/3.1.1/maven-plugin-api/
- http://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-custom-plugin.html
Maven : un repository et un outil de gestion de dépendances
Les repository Maven sont les emplacements où sont distribuées/récupérées les librairies nécessaires aux builds de vos projets. On a un repository local sur le poste sur lequel on travail mais (fonction de la configuration utilisée) on peut être en interaction avec un repository Maven central, un repository d'entreprise, un repository d'éditeur (par exemple JBoss).
Les principaux repository Maven officiels : http://maven.apache.org/repository/index.html
Les outils permettant de faciliter la gestion des repository :
- Nexus de Sonatype : http://www.sonatype.org/nexus/
- Archiva d'Apache : http://archiva.apache.org/index.cgi
- Artifactory de JFrog : http://www.jfrog.com/home/v_artifactory_opensource_overview
Rechercher une librairie sur un repository Maven central :
http://repo.maven.apache.org/maven2/
http://search.maven.org/#browse
Comment faire lorsque l'on est développeur et que l'on souhaite voir son framework publié sur un repo centrale Maven : http://lkrnac.net/blog/2014/03/06/deploy-to-maven-central/
Quelques ressources sur Maven
- http://www.sonatype.com/resources/books
- http://refcardz.dzone.com/refcardz/getting-started-repository
Aucun commentaire:
Enregistrer un commentaire