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


4. Gestion des plugins Maven
4.1. Dans Maven, tout est plugin
4.2. Cartographie
4.2.1. Core
4.2.2. Packaging
4.2.3. Outils
4.2.4. Reporting
4.2.5. IDE
4.2.6. Tous les plugins
4.3. Configurer les plugins


4. Gestion des plugins Maven


4.1. Dans Maven, tout est plugin

Quand on télécharge Maven, il ne comprend que le moteur qui sert à télécharger des plugins. Tous les goals Maven sont dans des plugins même les plus indispensables comme le plugin compiler.

Ainsi, il faut s'attendre à voir Maven télécharger énormémement de plugins lors de la première exécution d'un goal.


4.2. Cartographie


4.2.1. Core

  • clean : nettoie le répertoire de travail du projet : suppression des fichiers générés, etc.
  • compiler : compilation des sources du projet
  • resources : copie les ressources du projet dans le répertoire de build (classes ou test-classes)
  • site : génère le site web du projet
  • surefire : joue les tests unitaires
  • Et aussi : deploy, install, verifier

4.2.2. Packaging

  • jar : construit un jar à partir du projet
  • war : construit un war à partir du projet
  • Et aussi : ear, ejb, rar, shade

4.2.3. Outils

  • archetype : génère une structure de projet vide à partir d'un modèle (voir le chapitre associé)
  • assembly : génère une distribution de sources / fichiers binaires
  • dependency : manipulation et analyse des dépendances
  • help : donne des informations sur l'environnement de travail du projet
  • Et aussi : ant, antrun, enforcer, gpg, invoker, one, patch, release, remote-resources, repository, scm, source, stage, etc.

4.2.4. Reporting

  • checkstyle : génère un rapport d'audit de code checkstyle
  • javadoc : génère la javadoc du projet
  • pmd : génère un rapport PMD
  • project-info-reports : génère un rapport standard du projet
  • surefire-reports : génère le rapport de tests unitaires
  • jdepend : génère un rapport de métriques de code
  • cobertura : génère un rapport de couverture de tests
  • Findbugs : génère un rapport d'audit de code findbugs
  • Et aussi : changelog, changes, clover, doap, docck, jxr, etc.

4.2.5. IDE

  • eclipse : Génère un fichier .project pour intégration du projet dans eclipse
  • Et aussi : idea

4.2.6. Tous les plugins


4.3. Configurer les plugins

Il est possible de configurer les plugins utilisés dans le pom.xml :
Exemple de configuration d'un plugin

	<build>
		<plugins>
			...
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
				</configuration>
			</plugin>
			...
		</plugins>
	</build>
				
En rappelant le groupId et l'artifactId du plugin, on identifie de façon certaine le plugin. Il est alors possible de spécifier des paramètres génériques ou des paramètres spécifiques au plugin.

Spécifier la version a son importance. Tous les plugins peuvent avoir des mises à jour et par défaut Maven vérifiera une fois par jour si une nouvelle version est disponible. Il arrive que les meilleurs plugins sortent des versions buggées, et sans fixer la version, le projet peut poser des problèmes à la compilation d'un jour à l'autre parce que la nouvelle version a été téléchargée automatiquement.

Dans le meilleur des scénarios, grâce à la dépendance entre pom étudié ci dessous, un projet héritera d'un pom générique qui sélectionne au mieux les versions de chaque plugin.

Les configurations spécifiques au plugin se positionnent dans la balise <configuration>. Chaque paramètre se définit de la façon suivante : <nom du paramètre>valeur</nom du paramètre>

Le plus judicieux est de toujours se référer à la page de rapport du plugin afin de savoir quels paramètres peuvent lui être précisés. Pour trouver un plugin maven, la recherche Google "maven <nom du plugin> plugin" apportera pratiquement toujours une réponse satisfaisante.

Sur le site du plugin, vous trouverez ensuite toujours la page : "Project Reports/Plugin documentation" . Il s'agit d'un rapport automatique de Maven.

info La page d'accueil listera toujours les goals du plugin.
Cliquer sur un goal proposera la liste des paramètres qui peuvent lui être passés.
idea Pour s'assurer de compiler notre projet avec Java 5, il faut donc enrichir le fichier pom.xml de cette façon :
pom.xml enrichit avec la configuration du plugin compiler

	<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>
		
		<build>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.0.2</version>
					<configuration>
						<source>1.5</source>
						<target>1.5</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
		
	</project>
				
 

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.