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

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.

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 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.

info Les bases du pom.xml
idea 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.

 

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.