| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Tout assembly a besoin obligatoirement de deux données :
la balise id et la liste des formats d'archive à produire.
En pratique il faut y ajouter au moins une autre section du descripteur
— car la plupart des archiveurs vont se bloquer s'il y a aucun fichier à
incorporer — mais sans une balise format et une
balise id il n'y a aucune archive à réaliser. La
balise id est utilisée à la fois pour le nom et le
classifieur dans le dépôt Maven de l'artefact de l'archive produite.
Le format détermine quel composant archiveur sera utilisé pour
produire l'archive assembly finale. Tous les descripteurs d'assembly doivent
contenir une balise id et au moins une balise
format :
Exemple 8.5. Balises obligatoires d'un descripteur d'assembly
<assembly>
<id>bundle</id>
<formats>
<format>zip</format>
</formats>
...
</assembly>
L'id de l'assembly est une chaîne de caractères
sans espace. La pratique standard est d'utiliser des tirets entre les mots
de l'id de l'assembly. Si vous produisez un assembly
qui construit une structure unique d'un package intéressant, vous lui
donnerez une id comme unique-package-interessant.
Il est possible de déclarer plusieurs formats différents dans un même
descripteur d'assembly, ce qui vous permet de créer les archives de
distribution habituelles .zip, .tar.gz
et .tar.bz2 facilement. Si vous ne trouvez pas le format
d'archive qu'il vous faut, vous pouvez créer un format personnel. Les formats personnels
sont décrits dans la Section 8.5.8, « componentDescriptors et
containerDescriptorHandlers ». Le plugin
Assembly supporte nativement plusieurs formats d'archive, ce qui inclut :
jar
zip
tar
bzip2
gzip
tar.gz
tar.bz2
rar
war
ear
sar
dir
L'id et le format sont
indispensables car ils vont faire partie des coordonnées de l'archive
assemblée. L'exemple de Exemple 8.5, « Balises obligatoires d'un descripteur d'assembly » va
créer un artefact d'assembly de type zip avec comme
classifieur bundle.