web-dev-qa-db-fra.com

Maven BOM [Nomenclature] Dépendance

Je ne comprends pas quel est le but de bom object? et je travaille sur la version Spring 3.2.8 et avec le serveur JBoss, alors quelle dépendance de nomenclature je dois utiliser? Quand je mentionne la dépendance suivante dans pom.xml:

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
</dependency>

Le fichier jar est-il téléchargé dans mes dépendances Maven?

17
Ajeet Deginal

Quel est le but de bom object?

La relation parent-enfant Maven est très pratique pour gérer les dépendances de plusieurs projets en un seul endroit. Cependant, les projets Maven ne peuvent avoir qu'un seul parent (direct). Les importations ont donc été introduites pour la gestion des dépendances afin de permettre l'utilisation de plusieurs projets pour gérer vos dépendances. Avec une importation, vous pouvez définir une seule dépendance comme celle-ci et obtenir plusieurs dépendances gérées - c'est pratique! Bien que vous puissiez importer n'importe quel projet, la nomenclature est un projet spécial conçu pour être utilisé pour des importations comme celle-ci. Habituellement, un projet de nomenclature aura très peu défini en dehors de la section dependencyManagement, et n'aura pas de dépendances non liées, pour éviter d'affecter trop votre projet principal.

Quelle dépendance de nomenclature je dois utiliser?

La nomenclature n'est pas une exigence, vous n'avez pas besoin d'utiliser non plus. Au lieu de cela, vous pouvez définir vous-même toutes les dépendances gérées dans la section dependencyManagement. Ceux-ci peuvent inclure Spring, JBoss et toutes autres dépendances. La nomenclature vous simplifie toutefois considérablement la tâche. Vous pouvez ajouter autant de nomenclatures que vous le souhaitez, alors ajoutez les deux! Mais comme @Jesper le mentionne, n'oubliez pas d'utiliser des versions correctes. Lorsque vous utilisez plusieurs nomenclatures, leur ordre importera si elles font toutes deux référence à une dépendance commune.

Le fichier jar est-il téléchargé dans mes dépendances Maven?

Remarquez que la nomenclature est <type>pom</type>, pas la valeur par défaut jar. Il n'y a donc aucun pot à télécharger. Un seul fichier pom.xml sera téléchargé et lu par Maven.

45
Anton Koscejev