MVN avhengighetstre

Mvn Avhengighetstre



'Avhengigheter er eksterne koder og kodebiter som importeres til prosjektet ditt for å gi ekstra funksjonalitet. For eksempel kan en avhengighet være et annet arkiv eller fil i Java Projects. Andre deler av prosjektet refererer deretter til avhengigheten som skal kjøres.

Å ha et klart bilde av avhengighetstreet for prosjektet ditt kan være fordelaktig. Det lar deg raskt finne konflikter mellom installerte pakker og løse dem effektivt.







I denne opplæringen lærer vi hvordan du kan se avhengighetstreet til et Maven-prosjekt.'



La oss komme i gang.



Maven Dependency Plugin

Apache Maven-verktøyet kommer med et verktøy som lar deg administrere avhengighetene dine. Maven Dependency Plugin vil gjøre deg i stand til å kjøre en enkel kommando i prosjektet ditt og visualisere alle dets avhengigheter.





Plugin-ressursen vises nedenfor:

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



Den beste måten å visualisere prosjektavhengighetstreet med denne plugin-modulen er ved å kjøre følgende kommando:

mvn avhengighet : tre

Den forrige kommandoen vil finne alle avhengighetene i prosjektet ditt og returnere en trelignende struktur.

La oss illustrere hvordan vi kan oppnå dette.

Du kan bruke et hvilket som helst Maven-prosjekt med alle nødvendige avhengigheter for å gjøre dette.

Når du kjører kommandoen ovenfor, bør du se følgende eksempelutgang:

[ INFO ] --- maven - avhengighet - plugg inn : 2.8 : tre ( misligholde - cli ) @jedis ---
[ INFO ] redis. klienter : jedi : krukke : 4.3.0 - STILLBILDE
[ INFO ] +- org. slf4j : slf4j - api : krukke : 1.7.32 : kompilere
[ INFO ] +- org. apache . allmenninger : allmenninger - basseng 2 : krukke : 2.11.1 : kompilere
[ INFO ] +- org. json : json : krukke : 20211205 : kompilere
[ INFO ] +- med. Google . kode . gson : gson : krukke : 2.8.9 : kompilere
[ INFO ] +- junit : junit : krukke : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - kjerne : krukke : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - enkel : krukke : 1.7.32 : test
[ INFO ] +- med. kohlschutter . junix stikkontakt : junix stikkontakt - kjerne : se : 2.4.0 : test
[ INFO ] | +- med. kohlschutter . junix stikkontakt : junix stikkontakt - innfødt - vanlig : krukke : 2.4.0 : test
[ INFO ] | \ - med. kohlschutter . junix stikkontakt : junix stikkontakt - vanlig : krukke : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - på linje : krukke : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - kjerne : krukke : 3.12.4 : test
[ INFO ] +- nett. bytebuddy : byte - kompis : krukke : 1.11.13 : test
[ INFO ] +- nett. bytebuddy : byte - kompis - middel : krukke : 1.11.13 : test
[ INFO ] \ - org. avtalt : avtalt : krukke : 3.2 : test

Som du kan se fra utdataene ovenfor, returnerer Maven alle prosjektets avhengigheter i et listeformat.

Det er greit å huske på at denne kommandoen krever at du har Maven og Java JDK installert på systemet ditt.

Filtreringsavhengigheter

Hvis du jobber med et stort prosjekt, kan du finne det vanskelig å se og administrere alle avhengighetene ved å bruke kommandoen ovenfor.

Heldigvis lar Maven avhengighetstre-plugin deg filtrere etter de viste avhengighetene. Dette betyr at du kan inkludere eller ekskludere hvilken som helst avhengighet du ønsker.

For å inkludere bare en spesifikk avhengighet, bruker vi alternativet Dincludes som vist i følgende syntaks:

mvn avhengighet : tre - Din inkluderer [ gruppe-ID ] : [ artefakt-ID ] : [ type ] : [ versjon ]

Husk at hvert av segmentene i parameteren -Dincludes er valgfrie.

For eksempel, for å vise hvordan en spesifikk avhengighet brukes i prosjektet, kan vi kjøre følgende kommando:

mvn avhengighet : tre - Din inkluderer = junix stikkontakt : junix stikkontakt - kjerne

Den forrige koden skal returnere:

[ INFO ]
[ INFO ] ------------------------< redis. klienter : jedi >-------------------------
[ INFO ] Bygge Jedis 4.3.0 - STILLBILDE
[ INFO ] ---------------------------------- [ krukke ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - avhengighet - plugg inn : 2.8 : tre ( misligholde - cli ) @jedis ---

For å ekskludere en avhengighet fra treet, kan vi bruke parameteren -Dincludes som vist i syntaksen nedenfor.:

mvn avhengighet : tre - Din inkluderer = [ gruppe-ID ] : [ artefakt-ID ] : [ type ] : [ versjon ]

For eksempel:

mvn avhengighet : tre - Utelukker = junix stikkontakt : junix stikkontakt - kjerne

Dette skal returnere utdata som vist nedenfor:

Maven Lagre avhengighet til fil

Du kan også lagre avhengighetstreet i en fil ved å bruke parameteren -DoutputFile. Et eksempel er vist nedenfor:

mvn avhengighet : tre - Utdatafil = 'avd.tre'

I forrige kommando instruerer vi Maven om å lage et avhengighetstre og lagre det i en fil kalt dep.tree.

Den resulterende filutgangen er gitt nedenfor:

+- org. slf4j : slf4j - api : krukke : 1.7.32 : kompilere
+- org. apache . allmenninger : allmenninger - basseng 2 : krukke : 2.11.1 : kompilere
+- org. json : json : krukke : 20211205 : kompilere
+- med. Google . kode . gson : gson : krukke : 2.8.9 : kompilere
+- junit : junit : krukke : 4.13.2 : test
| \ - org. hamcrest : hamcrest - kjerne : krukke : 1.3 : test
+- org. slf4j : slf4j - enkel : krukke : 1.7.32 : test
+- med. kohlschutter . junix stikkontakt : junix stikkontakt - kjerne : se : 2.4.0 : test
| +- med. kohlschutter . junix stikkontakt : junix stikkontakt - innfødt - vanlig : krukke : 2.4.0 : test
| \ - med. kohlschutter . junix stikkontakt : junix stikkontakt - vanlig : krukke : 2.4.0 : test
\ - org. mockito : mockito - på linje : krukke : 3.12.4 : test
\ - org. mockito : mockito - kjerne : krukke : 3.12.4 : test
+- nett. bytebuddy : byte - kompis : krukke : 1.11.13 : test
+- nett. bytebuddy : byte - kompis - middel : krukke : 1.11.13 : test
\ - org. avtalt : avtalt : krukke : 3.2 : test

Maven vil kun inkludere prosjektavhengighetene i filen på en hierarkisk måte.

Konklusjon

Dette innlegget dekket hvordan du kan se Maven-avhengighetstreet ved å bruke Maven-avhengighetsplugin.