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


    8.5.8. componentDescriptors et containerDescriptorHandlers

    Terminons l'exploration du descripteur d'assembly avec la présentation de deux dernières balises : containerDescriptorHandlers et componentDescriptors. La balise containerDescriptorHandlers prend en compte des composants vous permettant d'étendre les fonctionnalités du plugin Assembly. Précisément, ces composants personnalisés vous permettent de définir et de gérer certains types de fichiers qui peuvent être le produit de la fusion de différents éléments utilisés lors de lacréation de votre assembly. Par exemple, nous pouvons utiliser ce mécanisme pour construire un fichier web.xml unique à partir de plusieurs fragments pour l'intégrer à l'assembly.

    La balise componentDescriptors permet de référencer des descripteurs d'assembly externes et de les inclure dans le descripteur courant. Les références vers ses composants peuvent être sous l'une des formes suivantes :

    1. Chemins relatifs : src/main/assembly/component.xml

    2. Références d'artefact : groupId:artifactId:version[:type[:classifier]]

    3. Ressources du classpath : /assemblies/component.xml

    4. URLs : http://www.sonatype.com/component.xml

    Lors de la résolution d'un descripteur de composant, le plugin Assembly essaye ces différentes stratégies dans cet ordre précis. La première stratégie qui fonctionne est alors utilisée.

    Les descripteurs de composant peuvent contenir les mêmes sections qu'un descripteur d'Assembly, à l'exception de la balise moduleSets. Celle-ci est considérée comme spécifique à chaque projet. La balise containerDescriptorHandlers, dont nous avons parlébrièvement, est également incluse dans le descripteur de composant. Les descripteurs de composants ne peuvent pas contenir de format, d'id d'assembly ou toute autre configuration en rapport avec le répertoire racine de l'archive. En effet, ces éléments sont tous considérés comme propres à un descripteur d'assembly. Bien qu'il semble intéressant de permettre le partage de la balise formats, cela n'a pas été fait jusqu'à ce jour (version 2.2-beta-2-release du plugin Assembly).