En utilisant Maven vous pourrez automatiser les taches rébarbatives d’un projet web. Il prendra en charge par exemple la version de librairies de vos dépendances, le projet Eclipse, les builds et les tests unitaires. Cet article va vous montrer dans un projet simple l’utilisation de Maven avec des librairies externes. A la grande différence de Ant, ou vous décrivez les taches à réaliser, dans Maven vous décrivez votre projet, et lui connait les taches à réaliser. C’est une approche différente, amenant l’utilisation de fichiers de configurations plus légers, plus lisible, très efficace…

1) Installation de Maven :

L’installation de Maven sous Windows est particulièrement simple. Il suffit de télécharger l’install depuis le site officiel (http://maven.apache.org/), et d’ajouter dans votre path le chemin vers son répertoire bin (chez moi : C:Program FilesApache Software FoundationMaven 1.0.2bin). A ce stade vous pouvez tester maven en lançant en ligne de commande : Maven. Lors de son installation Maven doit créer les variables d’environement :

MAVEN_HOME -> C:Program FilesApache Software FoundationMaven 1.0.2

Vous devrez configurer une variable dzns eclipse pour permettre une parfaite interaction entre les deux :

Window -> Preferences -> Java -> Build Path -> Classpath Variables -> New

ajouter : MAVEN_REPO -> votre repository

(chez moi : C:`Documents and SettingsEric.mavenrepository)

Attention le repository n’existe qu’après la première exécution de maven 2) Création de l’arborescence de votre projet : L’arborescence des projets sous Maven doit respecter une recommandation dsponible ici : Maven Conventions Voici l’arborescence cible :

/+- src
/|  +- main
/|  |  +- java
/|  |  |  +- ...|  |  +- resources
/|  |     +- ...|  +- test
/|  |  +- java
/|  |  |  +- ...|  |  +- resources
/|  |     +- ...|  +- site
/|     +- xdoc
/|        +- ...+- target
/|  +- ...+- project.xml
+- README.tx
+- LICENSE.txt

3) Le fichier de configuration de Maven (project.xml) : project.xml



		
1
	tellaw.org
	0.1-DEMO

	TagLib Sample	

	
	taglib_sample	

	

			log4j
			log4j
			1.2.8			

				true

			junit
			3.8.1

			servletapi
			servletapi
			2.4-20040521

			jspapi
			jsp-api
			2.0-20040521

	

		src/main/java
		src/test/java

				src/main/webapp
				false

				**/*Test.java

4) Configuration du projet pour le workspace d’eclipse :

Tous les utilisateurs d’éclipse connaissent le soucis de dépendances perdues en cours de projets, a re-centraliser réguliérement, ou dont les versions sont différentes entre les intervenant du projet !!!!

Nous avons tous un jour hurler notre rage face à un Eclipse qui n’avait plus ses fichiers projets : .classpath et .project… Et bien c’est terminé, Maven peux générer pour vous les fichiers de configuration projet d’Eclipse, la commande magique ???? simpleeee :

maven eclipse

Résultat :

  • Maven va vérifier les dépendances et télécharger celles dont le projet à besoin.
  • Maven va reconstruire les fichiers projets : .classpath et .project
  • Eclipse se basera sur les librairies de Maven.

5) Compilation et livraison sous Maven : La compilation est simple avec Maven :

maven war -> Création d’un war (Compilation, Tests Unitaires…).

maven jar -> Création d’un jar avec le projet.

maven java:compile-> Simple compilation du projet.

maven site -> Création d’un site d’information sur la compilation et la documentation (sortie dans target/docs).

maven clean -> Nettoyage des fichers de sortie de maven.

maven eclipse -> Reconstruit le projet eclipse.

Lors de chaque tache Maven validera que toutes ses dépendances sont présentes, si ce n’est pas le cas, il les télécharges depuis http://www.ibiblio.org/maven/ Maven utilise le repertoire target pour sortir ses fichiers. Beaucoup d’options et de plugins existent pour Maven, je ne peux évidemment pas en faire un listing. Cet article donne un kit de quickstart, pas une formation complète. Liens utiles :