| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Lors de son exécution, Maven lit les informations du projet dans le Project Object Model. Le POM répond aux questions telles que : De quel
type de projet s'agit-il ? Quel est le nom du projet ? Ce projet a-t-il été personnalisé ? L'Exemple 3.1, « Fichier pom.xml du projet Simple » montre le fichier pom.xml par défaut créé par le goal
generate du plugin Maven Archetype.
Exemple 3.1. Fichier pom.xml du projet Simple
<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>org.sonatype.mavenbook.simple</groupId> <artifactId>simple</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>simple</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
Ce fichier pom.xml est le POM le plus basique que vous rencontrerez
dans un projet Maven. La plupart du temps un fichier POM est considérablement plus complexe : il
définit de nombreuses dépendances et personnalise le comportement des plugins. Les premiers éléments —
groupId, artifactId, packaging,
version — sont ce que l'on appelle les coordonnées Maven qui identifient de manière unique un
projet. Les balises name et url sont des éléments descriptifs du POM
donnant un nom compréhensible par un être humain et associant le projet à un site web. L'élément
dependencies définit une dépendance unique, dans le scope test, sur un
framework de test appelé JUnit. Nous reverrons ces sujets par la suite dans
la Section 3.5, « Les concepts principaux ». Tout ce que vous devez savoir, pour le moment, c'est que
c'est le fichier pom.xml qui permet à Maven de s'exécuter.
Maven s'exécute toujours selon un POM effectif, une combinaison de la configuration du
fichier pom.xml du projet, de l'ensemble des POMs parents, d'un
super-POM défini dans Maven, de la configuration de l'utilisateur et des profils actifs. Tous
les projets étendent au final le super-POM, qui définit une configuration par défaut raisonnable
et que nous décrivons en détails dans le Chapitre 9, Le Modèle Objet de Projet. Même si votre projet a un fichier
pom.xml minimal, le contenu du POM de celui-ci est interpolé à partir
des contenus des POMs parents, de la configuration de l'utilisateur et de tout profil actif. Pour
voir ce POM "effectif", exécutez la commande suivante depuis le répertoire racine de votre simple
projet.
$mvn help:effective-pom
Lorsque vous exécutez cette commande vous pouvez voir un POM nettement plus consistent qui montre la configuration par défaut de Maven. Ce goal devient vite pratique lorsque vous essayez de débogguer un build et que vous voulez voir comment les POMs des parents de ce projet contribuent au POM effectif. Pour plus d'informations sur le plugin Maven Help, lisez la Section 12.3, « Usage du plugin Maven Help ».