Apache Maven par Michel VONGVILAY

III. POM : Project Object Model (project.xml)

Maven est orienté projet, donc le projet est l'entité principale gérée par Maven. Il est nécessaire de fournir à Maven une description du projet (Project descriptor) sous la forme d'un document XML nommé project.xml et situé à la racine du répertoire contenant le projet.

III.1 Composition du fichier project.xml

En général, trois principales parties composent le fichier project.xml :

  1. La partie gestion du projet inclue les informations telles que l'organisation du projet, la liste des développeurs, la localisation du code source, et l'URL du système pour déceler les bugs.
  2. La partie dépendance du projet inclut les informations concernant les dépendance du projet. Actuellement la version 1.0 beta 8 de Maven supporte uniquement les fichiers de dépendance au format JAR.
  3. La partie de build et de documentation (rapports) contient les informations du build telles que le répertoire du code source, des tests unitaires, et les rapports à générer définis dans le build.

Le fichier project.xml contient un identifiant unique de projet et un group ID. Ce group ID est particulièrement utile quand le projet contient des sous-projets. Tous ces sous-projets devraient partager le meme groupe ID mais chacun d'entre eux devrait avoir un <id> distint.

Il est également possible d'inclure la valeur d'un tag défini dans le document dans un autre tag.
Exemple :
<shortDescription>${pom.name} est un test avec Maven</shortDescription>

On peut aussi faire hériter d'un fichier project.xml existant dans lequel des caractéristiques communes à plusieurs projets sont définies. La déclaration dans le fichier du fichier père se fait avec le tag <extend>. Dans le fichier fils, il suffit de redéfinir ou de définir les tags nécessaires.




III.2 Exemple de fichier project.xml

Voici un exemple d'un fichier project.xml :


        <?xml version="1.0" encoding="ISO-8859-1"?>

        <!-- l'element racine d'un fichier projet -->
        <project>
          <!-- version du POM. Ce tag n'est pas encore exploité. -->
          <pomVersion>3</pomVersion>

          <!-- groupe id du projet. -->
          <!-- Si present, l'id est utilisé comme nom de dossier ds le repository -->
          <!-- pour regrouper tous les jars du projet -->
          <groupId>myGroup</groupId>

          <!-- Unique id du projet.Il est aussi utilisé pr générer des noms de fichier
          <!-- i.e, le fichier JAR est nommé : <id>-<version> -->
          <id>chronos</id>

          <!-- Le nom court du projet -->
          <name>Chronos IG2000</name>

          <!-- numero de version du projet. (Pas de norme à suivre) -->
          <currentVersion>0.0.1</currentVersion>

          ...
          <!------------------------------------------------------------------ -->
          <!-- Partie gestion de projet                                  -->
          <!------------------------------------------------------------------ -->
          ...
          <!------------------------------------------------------------------ -->
          <!-- Partie dépendances du projet                              -->
          <!------------------------------------------------------------------ -->
          ...
          <!------------------------------------------------------------------ -->
          <!-- Partie build et documentation du projet                   -->
          <!------------------------------------------------------------------ -->
          ...
        </project>
      
      

Tous les descriptors du fichier project.xml sur :
http://maven.apache.org/reference/project-descriptor.html



<< page précédente page suivante >>

Valid XHTML 1.0!