Arbre de dépendance MVN

Arbre De Dependance Mvn



'Les dépendances sont des codes externes et des extraits importés dans votre projet pour fournir des fonctionnalités supplémentaires. Par exemple, une dépendance peut être une autre archive ou un autre fichier dans Java Projects. D'autres parties du projet référencent ensuite la dépendance à exécuter.

Avoir une image claire de l'arborescence des dépendances pour votre projet peut être bénéfique. Il permet de trouver rapidement les conflits entre les packages installés et de les résoudre efficacement.







Dans ce didacticiel, nous allons apprendre à afficher l'arborescence des dépendances d'un projet Maven. »



Commençons.



Plugin de dépendance Maven

L'utilitaire Apache Maven est livré avec un outil qui vous permet de gérer vos dépendances. Le plugin Maven Dependency vous permettra d'exécuter une simple commande dans votre projet et de visualiser toutes ses dépendances.





La ressource du plug-in est illustrée ci-dessous :

https://maven.apache.org/plugins/maven-dependency-plugin/usage.html



La meilleure façon de visualiser l'arborescence des dépendances de votre projet avec ce plugin est d'exécuter la commande suivante :

dépendance mvn : arbre

La commande précédente localisera toutes les dépendances de votre projet et renverra une structure arborescente.

Illustrons comment nous pouvons y parvenir.

Vous pouvez utiliser n'importe quel projet Maven avec toutes les dépendances requises pour ce faire.

Une fois que vous avez exécuté la commande ci-dessus, vous devriez voir l'exemple de sortie suivant :

[ INFO ] --- expert - dépendance - brancher : 2.8 : arbre ( défaut - cli ) @jedis ---
[ INFO ] redis. clients : Jedi : pot : 4.3.0 - INSTANTANÉ
[ INFO ] +- org. slf4j : slf4j - API : pot : 1.7.32 : compiler
[ INFO ] +- org. Apache . Chambre des communes : Chambre des communes - piscine2 : pot : 2.11.1 : compiler
[ INFO ] +- org. json : json : pot : 20211205 : compiler
[ INFO ] +- avec. Google . code . gson : gson : pot : 2.8.9 : compiler
[ INFO ] +- Junit : Junit : pot : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - cœur : pot : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - Facile : pot : 1.7.32 : test
[ INFO ] +- avec. khôlschutter . prise junix : prise junix - cœur : voir : 2.4.0 : test
[ INFO ] | +- avec. khôlschutter . prise junix : prise junix - originaire de - commun : pot : 2.4.0 : test
[ INFO ] | \ - avec. khôlschutter . prise junix : prise junix - commun : pot : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - en ligne : pot : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - cœur : pot : 3.12.4 : test
[ INFO ] +- rapporter. bytebuddy : octet - copain : pot : 1.11.13 : test
[ INFO ] +- rapporter. bytebuddy : octet - copain - agent : pot : 1.11.13 : test
[ INFO ] \ - org. convenu : convenu : pot : 3.2 : test

Comme vous pouvez le voir dans la sortie ci-dessus, Maven renvoie toutes les dépendances de notre projet dans un format de liste.

Il est bon de garder à l'esprit que cette commande nécessite que Maven et Java JDK soient installés sur votre système.

Filtrage des dépendances

Si vous travaillez sur un grand projet, vous aurez peut-être du mal à afficher et à gérer toutes les dépendances à l'aide de la commande ci-dessus.

Heureusement, le plugin Maven dependency tree vous permet de filtrer les dépendances affichées. Cela signifie que vous pouvez inclure ou exclure toute dépendance que vous souhaitez.

Pour inclure uniquement une dépendance spécifique, nous utilisons l'option Dincludes comme indiqué dans la syntaxe suivante :

dépendance mvn : arbre - Dinclut [ identifiant de groupe ] : [ ID d'artefact ] : [ taper ] : [ version ]

N'oubliez pas que chacun des segments du paramètre -Dincludes est facultatif.

Par exemple, pour montrer comment une dépendance spécifique est utilisée dans le projet, nous pouvons exécuter la commande suivante :

dépendance mvn : arbre - Dinclut = prise junix : prise junix - cœur

Le code précédent doit renvoyer :

[ INFO ]
[ INFO ] ------------------------< redis. clients : Jedi >-------------------------
[ INFO ] Construire des Jedis 4.3.0 - INSTANTANÉ
[ INFO ] -------------------------------- [ pot ] ---------------------------------
[ INFO ]
[ INFO ] --- expert - dépendance - brancher : 2.8 : arbre ( défaut - cli ) @jedis ---

Pour exclure une dépendance de l'arborescence, nous pouvons utiliser le paramètre -Dincludes comme indiqué dans la syntaxe ci-dessous :

dépendance mvn : arbre - Dinclut = [ identifiant de groupe ] : [ ID d'artefact ] : [ taper ] : [ version ]

Par exemple:

dépendance mvn : arbre - Dexclut = prise junix : prise junix - cœur

Cela devrait renvoyer la sortie comme indiqué ci-dessous :

Maven Enregistrer la dépendance dans un fichier

Vous pouvez également enregistrer l'arborescence des dépendances dans un fichier à l'aide du paramètre -DoutputFile. Un exemple est illustré ci-dessous :

dépendance mvn : arbre - DoutputFile = 'dep.tree'

Dans la commande précédente, nous demandons à Maven de créer une arborescence de dépendances et de l'enregistrer dans un fichier appelé dep.tree.

La sortie du fichier résultant est fournie ci-dessous :

+- org. slf4j : slf4j - API : pot : 1.7.32 : compiler
+- org. Apache . Chambre des communes : Chambre des communes - piscine2 : pot : 2.11.1 : compiler
+- org. json : json : pot : 20211205 : compiler
+- avec. Google . code . gson : gson : pot : 2.8.9 : compiler
+- Junit : Junit : pot : 4.13.2 : test
| \ - org. hamcrest : hamcrest - cœur : pot : 1.3 : test
+- org. slf4j : slf4j - Facile : pot : 1.7.32 : test
+- avec. khôlschutter . prise junix : prise junix - cœur : voir : 2.4.0 : test
| +- avec. khôlschutter . prise junix : prise junix - originaire de - commun : pot : 2.4.0 : test
| \ - avec. khôlschutter . prise junix : prise junix - commun : pot : 2.4.0 : test
\ - org. mockito : mockito - en ligne : pot : 3.12.4 : test
\ - org. mockito : mockito - cœur : pot : 3.12.4 : test
+- rapporter. bytebuddy : octet - copain : pot : 1.11.13 : test
+- rapporter. bytebuddy : octet - copain - agent : pot : 1.11.13 : test
\ - org. convenu : convenu : pot : 3.2 : test

Maven inclura uniquement les dépendances du projet dans le fichier de manière hiérarchique.

Conclusion

Cet article a expliqué comment afficher l'arborescence des dépendances Maven à l'aide du plug-in de dépendance Maven.