Strom závislostí MVN

Strom Zavislosti Mvn



„Závislosti jsou externí kódy a úryvky importované do vašeho projektu, aby poskytovaly další funkce. Závislostí může být například jiný archiv nebo soubor v Java Projects. Další části projektu pak odkazují na závislost, která se má spustit.

Mít jasný obrázek stromu závislostí pro váš projekt může být prospěšné. Umožňuje rychle najít konflikty mezi nainstalovanými balíčky a efektivně je řešit.







V tomto tutoriálu se naučíme, jak zobrazit strom závislostí projektu Maven.“



Začněme.



Závislostní plugin Maven

Nástroj Apache Maven je dodáván s nástrojem, který vám umožní spravovat vaše závislosti. Zásuvný modul Maven Dependency Plugin vám umožní spustit jednoduchý příkaz ve vašem projektu a vizualizovat všechny jeho závislosti.





Zdroj pluginu je zobrazen níže:

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



Nejlepší způsob, jak vizualizovat strom závislostí projektu pomocí tohoto pluginu, je spustit následující příkaz:

mvn závislost : strom

Předchozí příkaz vyhledá všechny závislosti ve vašem projektu a vrátí stromovou strukturu.

Pojďme si ukázat, jak toho můžeme dosáhnout.

K tomu můžete použít jakýkoli projekt Maven s libovolnými požadovanými závislostmi.

Po spuštění výše uvedeného příkazu byste měli vidět následující příklad výstupu:

[ INFO ] --- maven - závislost - zapojit : 2.8 : strom ( výchozí - cli ) @ jedis ---
[ INFO ] redis. klientů : jedi : sklenice : 4.3.0 - MOMENTKA
[ INFO ] +- org. slf4j : slf4j - api : sklenice : 1.7.32 : kompilovat
[ INFO ] +- org. apache . commons : commons - bazén2 : sklenice : 2.11.1 : kompilovat
[ INFO ] +- org. json : json : sklenice : 20211205 : kompilovat
[ INFO ] +- s. Google . kód . gson : gson : sklenice : 2.8.9 : kompilovat
[ INFO ] +- junit : junit : sklenice : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - jádro : sklenice : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - jednoduchý : sklenice : 1.7.32 : test
[ INFO ] +- s. Kohlschutter . zásuvka jux : zásuvka jux - jádro : vidět : 2.4.0 : test
[ INFO ] | +- s. Kohlschutter . zásuvka jux : zásuvka jux - rodák - společný : sklenice : 2.4.0 : test
[ INFO ] | \ - s. Kohlschutter . zásuvka jux : zásuvka jux - společný : sklenice : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - v souladu : sklenice : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - jádro : sklenice : 3.12.4 : test
[ INFO ] +- síť. bytebuddy : byte - kamarád : sklenice : 1.11.13 : test
[ INFO ] +- síť. bytebuddy : byte - kamarád - činidlo : sklenice : 1.11.13 : test
[ INFO ] \ - org. souhlasil : souhlasil : sklenice : 3.2 : test

Jak můžete vidět z výše uvedeného výstupu, Maven vrací všechny závislosti našeho projektu ve formátu seznamu.

Je dobré mít na paměti, že tento příkaz vyžaduje, abyste měli na svém systému nainstalovaný Maven a Java JDK.

Filtrování závislostí

Pokud pracujete na velkém projektu, může být pro vás obtížné zobrazit a spravovat všechny závislosti pomocí výše uvedeného příkazu.

Naštěstí vám plugin stromu závislostí Maven umožňuje filtrovat zobrazené závislosti. To znamená, že můžete zahrnout nebo vyloučit jakoukoli závislost, kterou chcete.

Chcete-li zahrnout pouze konkrétní závislost, použijeme možnost Dincludes, jak je znázorněno v následující syntaxi:

mvn závislost : strom - Zahrnuje [ groupId ] : [ ArtifactId ] : [ typ ] : [ verze ]

Mějte na paměti, že každý ze segmentů v parametru -Dincludes je volitelný.

Abychom například ukázali, jak se v projektu používá konkrétní závislost, můžeme spustit následující příkaz:

mvn závislost : strom - Zahrnuje = zásuvka jux : zásuvka jux - jádro

Předchozí kód by měl vrátit:

[ INFO ]
[ INFO ] ------------------------< redis. klientů : jedi >--------------------------
[ INFO ] Budování Jedisů 4.3.0 - MOMENTKA
[ INFO ] -------------------------------- [ sklenice ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - závislost - zapojit : 2.8 : strom ( výchozí - cli ) @ jedis ---

Chcete-li vyloučit závislost ze stromu, můžeme použít parametr -Dincludes, jak je znázorněno v syntaxi níže.:

mvn závislost : strom - Zahrnuje = [ groupId ] : [ ArtifactId ] : [ typ ] : [ verze ]

Například:

mvn závislost : strom - Nezahrnuje = zásuvka jux : zásuvka jux - jádro

To by mělo vrátit výstup, jak je znázorněno níže:

Maven Uložit závislost do souboru

Strom závislostí můžete také uložit do souboru pomocí parametru -DoutputFile. Příklad je uveden níže:

mvn závislost : strom - DoutputFile = 'dep.tree'

V předchozím příkazu dáváme Mavenovi pokyn, aby vytvořil strom závislostí a uložil jej do souboru s názvem dep.tree.

Výsledný výstup souboru je uveden níže:

+- org. slf4j : slf4j - api : sklenice : 1.7.32 : kompilovat
+- org. apache . commons : commons - bazén2 : sklenice : 2.11.1 : kompilovat
+- org. json : json : sklenice : 20211205 : kompilovat
+- s. Google . kód . gson : gson : sklenice : 2.8.9 : kompilovat
+- junit : junit : sklenice : 4.13.2 : test
| \ - org. hamcrest : hamcrest - jádro : sklenice : 1.3 : test
+- org. slf4j : slf4j - jednoduchý : sklenice : 1.7.32 : test
+- s. Kohlschutter . zásuvka jux : zásuvka jux - jádro : vidět : 2.4.0 : test
| +- s. Kohlschutter . zásuvka jux : zásuvka jux - rodák - společný : sklenice : 2.4.0 : test
| \ - s. Kohlschutter . zásuvka jux : zásuvka jux - společný : sklenice : 2.4.0 : test
\ - org. mockito : mockito - v souladu : sklenice : 3.12.4 : test
\ - org. mockito : mockito - jádro : sklenice : 3.12.4 : test
+- síť. bytebuddy : byte - kamarád : sklenice : 1.11.13 : test
+- síť. bytebuddy : byte - kamarád - činidlo : sklenice : 1.11.13 : test
\ - org. souhlasil : souhlasil : sklenice : 3.2 : test

Maven zahrne do souboru pouze závislosti projektu hierarchickým způsobem.

Závěr

Tento příspěvek se zabýval tím, jak zobrazit strom závislostí Maven pomocí pluginu Maven.