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