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


    14.2.3. Utilisation des assemblies comme dépendances

    Lorsque des assemblies sont produits durant le processus de build normal du projet, les archives résultantes sont jointes à l'artefact principal du projet. Cela signifie qu'elles seront installées et déployées au côté de l'artefact et qu'elles seront donc accessibles comme ce dernier. Chaque artefact assembly aura les mêmes coordonnées de base que le projet principal (à savoir le groupId, l'artifactId et la version). Cependant ces artefacts sont des pièces rapportées ce qui signifie pour Maven qu'il s'agit de produits secondaires au build du projet principal. Par exemple, les assemblies source contiennent les données d'entrée brutes du build du projet et les assemblies jar-with-dependencies contiennent l'ensemble des classes du projet et de ses dépendances. Les artefacts ainsi rattachés peuvent ne pas respecter la règle Maven un projet un artefact de par leur nature de produits secondaires.

    Comme les assemblies sont (normalement) des artefacts rattachés, chacun doit avoir son classifieur en plus des coordonnées de l'artefact principal pour le distinguer de ce dernier. Par défaut ce classifieur est l'identifiant du descripteur de l'assembly. Quand on utilise les descripteurs pré-définis l'identifiant du descripteur d'assembly est le même que l'identifiant utilisé dans la balise descriptorRef pour ce type d'assembly.

    Maintenant que vous avez déployé l'assembly au côté de votre artefact principal, comment pouvez-vous l'utiliser comme dépendance dans un autre projet ? La réponse est simple. Rappelez-vous la discussion à propos des dépendances entre projets avec Maven dans la Section 3.5.3, « Les coordonnées Maven » et dans la Section 9.5.1, « Au sujet des coordonnées », les projets dépendent les uns des autres grâce à quatre éléments de base que l'on appelle coordonnées d'un projet : groupId, artifactId, version et packaging. Dans la Section 11.5.3, « Classifieurs de plateforme », il existe de nombreuses variantes de l'artefact du projet selon la plate-forme cible et le projet spécifie un élément classifier qui prend la valeur win ou linux de manière à pouvoir choisir le bon artefact selon la plate-forme cible. Les artefacts assembly peuvent être utilisés comme dépendance grâce aux coordonnées de base du projet combinées au classifieur avec lequel l'assembly a été installé ou déployé. Si l'assembly n'est pas une archive JAR il faudra aussi déclarer son type.