Utiliser Maven 2
Date de publication : 04/08/2008 , Date de mise à jour : 04/08/2008
1. La théorie de Maven
1.1. Philosophie
1.2. Installation et fonctionnement
1.3. Apport de Maven
1. La théorie de Maven
1.1. Philosophie
Les Makefile ou les scripts Ant réalisent la compilation d'un projet était
réalisée via le scriptage des differentes étapes de la vie du projet. Même avec
les directives très abouties de Ant, le script redéfinis pour chaque projet des
directives ressemblantes à : "compiler les fichiers sources du répertoire src
dans le repertoire classes".
Maven propose de renverser le problème. Ce ne sont plus les opérations à faire
qui sont définit mais le projet qui est décrit. A partir de ces informations,
c'est Maven qui sait et applique que la compilation part des sources vers un
répertoire de travail.
Maven propose une configuration par défaut très complète qui permet une
standardisation de la structure des projets Java. Au besoin, Maven permet de
surcharger les configurations pour s'adapter au plus de situations.
Maven 1 était encore mixte dans le passage entre le scripting de tache et la
description du projet. Il proposait à la fois la description du projet et la
création de script. Maven 2 est plus strict et ne passe plus que par la
description du projet. Maven 1 n'est plus supporté et il est consseillé de
migrer les anciens projets sur Maven 2. La procédure est facilité par un plugin
Maven 2 dédié. Ce document ne traite exclusivement que de Maven 2.
1.2. Installation et fonctionnement
Installation
: le plus simple est encore de suivre la procédure officielle
Télécharger Maven
. Il faut surtout retenir que plusieurs variables d'environnements sont à
positionner : JAVA_HOME si ce n'est pas déjà fait, M2_HOME et le plus important,
avoir le répertoire bin de Maven dans le PATH afin de pouvoir lancer les
commandes Maven dans la console.
Utilisation
: Se positionner en ligne de commande dans le répertoire du projet. Avec la
commande
mvn
et les goals decris plus bas, il est alors possible de réaliser toutes les
opérations necessaires sur le projet.
Un projet qui utilise Maven contient simplement un fichier pom.xml qui
représente la configuration du projet pour Maven. Toutes les informations pour
le projet sont à renseigner dans ce fichier.
Alors qu'un fichier build.xml Ant decrit entierement la procédure pour réaliser
une opération technique, le fichier pom.xml décrit le projet et suffit pour que
Maven sache le manipuler.
POM est l'acronyme de
Project Object Model
. Il s'agit donc d'un fichier XML qui a pour but de définir tous les élements
relatifs à un projet au sens large.
|
Pour créer votre premier pom.xml, pratiquement tous les champs ont une valeur
par défaut, ils sont dont tous optionnels. Voici ce que pourrait être un fichier
pom.xml minimal :
|
Le premier pom.xml |
< project xmlns = " http://maven.apache.org/POM/4.0.0 "
xmlns : xsi = " http://www.w3.org/2001/XMLSchema-instance "
xsi : schemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd " >
< modelVersion > 4.0.0< / modelVersion >
< groupId > com.developpez< / groupId >
< artifactId > cours-maven-example< / artifactId >
< packaging > jar< / packaging >
< name > Projet d'exemple pour le cours Maven< / name >
< version > 1.0< / version >
< / project >
|
1.3. Apport de Maven
Grâce à la définition du projet dans le pom.xml, Maven 2 est capable de gérer
toute la vie du projet. Il traite de la compilation mais aussi de packaging de
l'application (faire une archive War ou Ear n'est pas toujours évident), la
gestion des dépendances, la génération des rapports de suivis des développements
(checkstyles, test unitaires...) et même le déploiement de l'application sur un
environnement d'execution.
Généralisé sur une grande majorité des projets Java Open Source (Spring,
Hibernate, Struts...) Maven 2 permet d'uniformiser la gestion d'un projet Java
et permet d'utiliser des outils qui permettent l'industrialisation du
développement via la génération automatique des rapports ou les systèmes
d'intégration continue.
Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à
votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre
intellectuelle protégée par les droits d'auteurs. Copyright Matthieu Lux . Aucune
reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu
: textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous
encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets.