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


12. Heritage de pom


12. Heritage de pom

Un pom très complet peut devenir très conséquent. De plus, une partie importante de son contenu sera souvent partagé entre plusieurs projets (mêmes rapports, mêmes repository...)

Un mécanisme d'héritage permet d'organiser et de factoriser le contenu des pom.xml

Le code à utiliser est le suivant :
Configuration à ajouter pour hériter d'un autre pom

	<project ...>
		<parent>
			<groupId>...</groupId>
			<artifactId>...</artifactId>
			<version>...</version>
		</parent>
		...
	</project>
				
Via ce code, toutes les informations contenues dans le pom.xml de l'artifact ciblé sera ajouté au pom.xml courant. Les informations du pom courant sont forcément prioritaire en cas de doublons.

Attention : On a vite tendance à mettre les repository dans un pom hérité pour alléger le pom sur lequel on travaille mais il faut toujours bien penser que le pom hérité sera recherché sur les repository connu, il faut donc que le pom sur lequel on travaille connaisse au moins le repository où chercher son parent.

En entreprise, beaucoup d'éléments sont partagés entre différents projets : des repository, un skin pour le site, des rapports... Il est alors intéressant de créer un pom parrent commun à toute l'entreprise. Souvent, on créera encore un autre pom qui éritera de celui de l'entreprise et qui précisera des éléments spécifiques à l'équipe.

Cette solution est très intéressante pour éviter de rendre les pom illisibles parce que trop long et encore plus intéressante lorsque l'on travail sur plusieurs projets. Il faut donc rapidement utiliser ce mécanisme et ne pas repousser sa mise en place trop longtemps.

info Une fois qu'on connait ce mécanisme, il faut savoir que les valeurs par défaut dans le pom Maven sont en fait géré par un héritage systèmatique à un super POM. Ce super POM est décrit ici : Le super POM
Il existe un goal Maven qui permet d'afficher le pom complet utilisé par Maven après l'application de tous les héritages :
Goal permettant de générer le pom réel

	mvn help:effective-pom
			
 

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.