IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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

Le Makefile ou Ant réalisent la compilation d'un projet via le réalisation de scripts pour les différentes étapes de la vie du projet. Même avec les directives très abouties de Ant, le script redéfini pour chaque projet des directives telles que : "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. En sachant où se trouvent les élements dont il a besoin dans le projet, il est à même de réaliser les opérations dessus. On n'écrit plus de script avec Maven.

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 à plus de situations.

info La philosophie de Maven
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 conseillé de migrer les anciens projets sur Maven 2. La procédure est facilité par un plugin Maven 2 dédié. Ce document traite exclusivement 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'environnement sont à positionner : JAVA_HOME si ce n'est pas déjà fait, M2_HOME et ajouter le répertoire bin de Maven dans le PATH afin de pouvoir utiliser les commandes Maven.

Utilisation : Se positionner en ligne de commandes dans le répertoire du projet. Avec la commande mvn et les goals décrits plus bas, il est alors possible de réaliser toutes les opérations nécessaires sur le projet.

Un projet qui utilise Maven contient simplement un fichier pom.xml qui représente la description du projet pour Maven. Toutes les informations pour le projet sont à renseigner dans ce fichier.

Alors qu'un fichier build.xml de Ant décrit entièrement 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.

info Les bases du pom.xml
Les références du POM
Le modèle complet du POM
Un projet est un artifact dans Maven, il s'agit de la brique de base que manipule Maven. Pour démarrer un pom, il faut au moins définir l'identification de l'artifact du projet. La définition complète d'un artifact est donné plus loin.

idea Le fichier pom.xml minimaliste ressemblera donc à ceci :
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'exécution.

Généralisé sur une grande majorité des projets Java Open Source (Spring, Hibernate, Struts...), Maven 2 uniformise ainsi la gestion d'un projet Java et offre la possibilité 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.

 

Valid XHTML 1.1!Valid CSS!

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.