Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    3.4. Modèle Objet du projet Simple

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