Strom závislosti MVN

Strom Zavislosti Mvn



„Závislosti sú externé kódy a úryvky importované do vášho projektu, aby poskytovali ďalšie funkcie. Závislosťou môže byť napríklad iný archív alebo súbor v Java Projects. Ostatné časti projektu potom odkazujú na závislosť, ktorá sa má spustiť.

Mať jasný obraz stromu závislostí pre váš projekt môže byť prospešné. Umožňuje rýchlo nájsť konflikty medzi nainštalovanými balíkmi a efektívne ich vyriešiť.







V tomto návode sa naučíme, ako zobraziť strom závislostí projektu Maven.“



Začnime.



Závislý doplnok Maven

Pomôcka Apache Maven prichádza s nástrojom, ktorý vám umožňuje spravovať vaše závislosti. Zásuvný modul Maven Dependency Plugin vám umožní spustiť jednoduchý príkaz vo vašom projekte a vizualizovať všetky jeho závislosti.





Zdroj doplnku je uvedený nižšie:

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



Najlepší spôsob, ako vizualizovať strom závislosti projektu pomocou tohto doplnku, je spustiť nasledujúci príkaz:

mvn závislosť : strom

Predchádzajúci príkaz nájde všetky závislosti vo vašom projekte a vráti stromovú štruktúru.

Ukážme si, ako to môžeme dosiahnuť.

Na tento účel môžete použiť akýkoľvek projekt Maven so všetkými požadovanými závislosťami.

Po spustení vyššie uvedeného príkazu by ste mali vidieť nasledujúci vzorový výstup:

[ INFO ] --- maven - závislosť - zapojiť : 2.8 : strom ( predvolená - cli ) @ jedis ---
[ INFO ] redis. klientov : jedi : jar : 4.3.0 - SNÍMAČKA
[ INFO ] +- org. slf4j : slf4j - api : jar : 1.7.32 : zostaviť
[ INFO ] +- org. apache . commons : commons - bazén2 : jar : 2.11.1 : zostaviť
[ INFO ] +- org. json : json : jar : 20211205 : zostaviť
[ INFO ] +- s google . kód . gson : gson : jar : 2.8.9 : zostaviť
[ INFO ] +- junit : junit : jar : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - jadro : jar : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - jednoduché : jar : 1.7.32 : test
[ INFO ] +- s kohlschutter . zásuvka junix : zásuvka junix - jadro : pozri : 2.4.0 : test
[ INFO ] | +- s kohlschutter . zásuvka junix : zásuvka junix - natívny - bežné : jar : 2.4.0 : test
[ INFO ] | \ - s kohlschutter . zásuvka junix : zásuvka junix - bežné : jar : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - v rade : jar : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - jadro : jar : 3.12.4 : test
[ INFO ] +- net. bytebuddy : byte - kamoš : jar : 1.11.13 : test
[ INFO ] +- net. bytebuddy : byte - kamoš - agent : jar : 1.11.13 : test
[ INFO ] \ - org. súhlasil : súhlasil : jar : 3.2 : test

Ako môžete vidieť z vyššie uvedeného výstupu, Maven vracia všetky závislosti nášho projektu vo formáte zoznamu.

Je dobré mať na pamäti, že tento príkaz vyžaduje, aby ste mali v systéme nainštalovaný Maven a Java JDK.

Filtrovanie závislostí

Ak pracujete na veľkom projekte, môže byť pre vás ťažké zobraziť a spravovať všetky závislosti pomocou vyššie uvedeného príkazu.

Našťastie vám doplnok stromu závislostí Maven umožňuje filtrovať zobrazené závislosti. To znamená, že môžete zahrnúť alebo vylúčiť akúkoľvek závislosť, ktorú chcete.

Ak chcete zahrnúť iba konkrétnu závislosť, použijeme možnosť Dincludes, ako je znázornené v nasledujúcej syntaxi:

mvn závislosť : strom - Zahŕňa [ groupId ] : [ artifactId ] : [ typu ] : [ verzia ]

Majte na pamäti, že každý zo segmentov v parametri -Dincludes je voliteľný.

Napríklad, aby sme ukázali, ako sa v projekte používa konkrétna závislosť, môžeme spustiť nasledujúci príkaz:

mvn závislosť : strom - Zahŕňa = zásuvka junix : zásuvka junix - jadro

Predchádzajúci kód by sa mal vrátiť:

[ INFO ]
[ INFO ] ------------------------< redis. klientov : jedi >--------------------------
[ INFO ] Budovanie Jedisov 4.3.0 - SNÍMAČKA
[ INFO ] --------------------------------- [ jar ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - závislosť - zapojiť : 2.8 : strom ( predvolená - cli ) @ jedis ---

Na vylúčenie závislosti zo stromu môžeme použiť parameter -Dincludes, ako je znázornené v syntaxi nižšie.:

mvn závislosť : strom - Zahŕňa = [ groupId ] : [ artifactId ] : [ typu ] : [ verzia ]

Napríklad:

mvn závislosť : strom - Nezahŕňa = zásuvka junix : zásuvka junix - jadro

To by malo vrátiť výstup, ako je uvedené nižšie:

Maven Uložiť závislosť do súboru

Strom závislostí môžete tiež uložiť do súboru pomocou parametra -DoutputFile. Príklad je uvedený nižšie:

mvn závislosť : strom - DoutputFile = 'odst.strom'

V predchádzajúcom príkaze dávame Mavenovi pokyn, aby vytvoril strom závislostí a uložil ho do súboru s názvom dep.tree.

Výsledný výstup súboru je uvedený nižšie:

+- org. slf4j : slf4j - api : jar : 1.7.32 : zostaviť
+- org. apache . commons : commons - bazén2 : jar : 2.11.1 : zostaviť
+- org. json : json : jar : 20211205 : zostaviť
+- s google . kód . gson : gson : jar : 2.8.9 : zostaviť
+- junit : junit : jar : 4.13.2 : test
| \ - org. hamcrest : hamcrest - jadro : jar : 1.3 : test
+- org. slf4j : slf4j - jednoduché : jar : 1.7.32 : test
+- s kohlschutter . zásuvka junix : zásuvka junix - jadro : pozri : 2.4.0 : test
| +- s kohlschutter . zásuvka junix : zásuvka junix - natívny - bežné : jar : 2.4.0 : test
| \ - s kohlschutter . zásuvka junix : zásuvka junix - bežné : jar : 2.4.0 : test
\ - org. mockito : mockito - v rade : jar : 3.12.4 : test
\ - org. mockito : mockito - jadro : jar : 3.12.4 : test
+- net. bytebuddy : byte - kamoš : jar : 1.11.13 : test
+- net. bytebuddy : byte - kamoš - agent : jar : 1.11.13 : test
\ - org. súhlasil : súhlasil : jar : 3.2 : test

Maven zahrnie do súboru iba závislosti projektu hierarchicky.

Záver

Tento príspevok sa týkal toho, ako zobraziť strom závislostí Maven pomocou doplnku Maven.