MVN stablo ovisnosti

Mvn Stablo Ovisnosti



“Ovisnosti su vanjski kodovi i isječci uvezeni u vaš projekt kako bi se pružila dodatna funkcionalnost. Na primjer, ovisnost može biti druga arhiva ili datoteka u Java projektima. Ostali dijelovi projekta zatim referiraju na ovisnost koju treba pokrenuti.

Imati jasnu sliku stabla ovisnosti za vaš projekt može biti korisno. Omogućuje brzo pronalaženje sukoba između instaliranih paketa i njihovo učinkovito rješavanje.







U ovom vodiču naučit ćemo kako vidjeti stablo ovisnosti Mavenovog projekta.”



Započnimo.



Mavenov dodatak ovisnosti

Uslužni program Apache Maven dolazi s alatom koji vam omogućuje upravljanje ovisnostima. Maven Dependency Plugin omogućit će vam pokretanje jednostavne naredbe u vašem projektu i vizualizaciju svih njegovih ovisnosti.





Resurs dodatka prikazan je u nastavku:

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



Najbolji način da vizualizirate svoje stablo ovisnosti o projektu s ovim dodatkom je pokretanje sljedeće naredbe:

mvn ovisnost : drvo

Prethodna naredba će locirati sve ovisnosti u vašem projektu i vratiti strukturu poput stabla.

Ilustrirajmo kako to možemo postići.

Za to možete koristiti bilo koji Mavenov projekt s bilo kojim potrebnim ovisnostima.

Nakon što pokrenete gornju naredbu, trebali biste vidjeti sljedeći primjer izlaza:

[ INFO ] --- maven - ovisnost - uključiti : 2.8 : drvo ( zadano - cli ) @ jedis ---
[ INFO ] redis. klijentima : jedi : staklenka : 4.3.0 - SNIMAK
[ INFO ] +- org. slf4j : slf4j - api : staklenka : 1.7.32 : sastaviti
[ INFO ] +- org. apache . zajedničko dobro : zajedničko dobro - bazen2 : staklenka : 2.11.1 : sastaviti
[ INFO ] +- org. json : json : staklenka : 20211205 : sastaviti
[ INFO ] +- s. google . kodirati . gson : gson : staklenka : 2.8.9 : sastaviti
[ INFO ] +- junit : junit : staklenka : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - jezgra : staklenka : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - jednostavan : staklenka : 1.7.32 : test
[ INFO ] +- s. kohlschutter . junix utičnica : junix utičnica - jezgra : vidjeti : 2.4.0 : test
[ INFO ] | +- s. kohlschutter . junix utičnica : junix utičnica - domaći - uobičajen : staklenka : 2.4.0 : test
[ INFO ] | \ - s. kohlschutter . junix utičnica : junix utičnica - uobičajen : staklenka : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - u redu : staklenka : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - jezgra : staklenka : 3.12.4 : test
[ INFO ] +- neto. bajtbuddy : bajt - prijatelj : staklenka : 1.11.13 : test
[ INFO ] +- neto. bajtbuddy : bajt - prijatelj - agent : staklenka : 1.11.13 : test
[ INFO ] \ - org. dogovoren : dogovoren : staklenka : 3.2 : test

Kao što možete vidjeti iz gornjeg izlaza, Maven vraća sve ovisnosti našeg projekta u obliku popisa.

Dobro je imati na umu da ova naredba zahtijeva da imate Maven i Java JDK instalirane na vašem sustavu.

Filtriranje ovisnosti

Ako radite na velikom projektu, možda će vam biti teško pregledavati i upravljati svim ovisnostima pomoću gornje naredbe.

Srećom, Mavenov dodatak stabla ovisnosti omogućuje filtriranje prikazanih ovisnosti. To znači da možete uključiti ili isključiti bilo koju ovisnost koju želite.

Da uključimo samo određenu ovisnost, koristimo opciju Dincludes kao što je prikazano u sljedećoj sintaksi:

mvn ovisnost : drvo - Ne uključuje [ groupId ] : [ artefactId ] : [ tip ] : [ verzija ]

Imajte na umu da je svaki od segmenata u parametru -Dincludes neobavezan.

Na primjer, da pokažemo kako se određena ovisnost koristi u projektu, možemo pokrenuti sljedeću naredbu:

mvn ovisnost : drvo - Ne uključuje = junix utičnica : junix utičnica - jezgra

Prethodni kod trebao bi vratiti:

[ INFO ]
[ INFO ] ------------------------< redis. klijentima : jedi >------------------------
[ INFO ] Izgradnja Jedisa 4.3.0 - SNIMAK
[ INFO ] -------------------------------- [ staklenka ] ---------------------------------
[ INFO ]
[ INFO ] --- maven - ovisnost - uključiti : 2.8 : drvo ( zadano - cli ) @ jedis ---

Kako bismo isključili ovisnost iz stabla, možemo koristiti parametar -Dincludes kao što je prikazano u donjoj sintaksi.:

mvn ovisnost : drvo - Ne uključuje = [ groupId ] : [ artefactId ] : [ tip ] : [ verzija ]

Na primjer:

mvn ovisnost : drvo - Isključuje = junix utičnica : junix utičnica - jezgra

Ovo bi trebalo vratiti izlaz kao što je prikazano u nastavku:

Maven Spremi ovisnost u datoteku

Također možete spremiti stablo ovisnosti u datoteku pomoću parametra -DoutputFile. Primjer je prikazan u nastavku:

mvn ovisnost : drvo - IzlazDatoteke = 'dep.drvo'

U prethodnoj naredbi upućujemo Mavena da stvori stablo ovisnosti i spremi ga u datoteku pod nazivom dep.tree.

Rezultirajući izlaz datoteke nalazi se u nastavku:

+- org. slf4j : slf4j - api : staklenka : 1.7.32 : sastaviti
+- org. apache . zajedničko dobro : zajedničko dobro - bazen2 : staklenka : 2.11.1 : sastaviti
+- org. json : json : staklenka : 20211205 : sastaviti
+- s. google . kodirati . gson : gson : staklenka : 2.8.9 : sastaviti
+- junit : junit : staklenka : 4.13.2 : test
| \ - org. hamcrest : hamcrest - jezgra : staklenka : 1.3 : test
+- org. slf4j : slf4j - jednostavan : staklenka : 1.7.32 : test
+- s. kohlschutter . junix utičnica : junix utičnica - jezgra : vidjeti : 2.4.0 : test
| +- s. kohlschutter . junix utičnica : junix utičnica - domaći - uobičajen : staklenka : 2.4.0 : test
| \ - s. kohlschutter . junix utičnica : junix utičnica - uobičajen : staklenka : 2.4.0 : test
\ - org. mockito : mockito - u redu : staklenka : 3.12.4 : test
\ - org. mockito : mockito - jezgra : staklenka : 3.12.4 : test
+- neto. bajtbuddy : bajt - prijatelj : staklenka : 1.11.13 : test
+- neto. bajtbuddy : bajt - prijatelj - agent : staklenka : 1.11.13 : test
\ - org. dogovoren : dogovoren : staklenka : 3.2 : test

Maven će samo ovisnosti projekta uključiti u datoteku na hijerarhijski način.

Zaključak

U ovom je postu objašnjeno kako vidjeti Mavenovo stablo ovisnosti pomoću Mavenovog dodatka ovisnosti.