MVN afhængighedstræ

Mvn Afhaengighedstrae



'Afhængigheder er eksterne koder og uddrag, der importeres til dit projekt for at give ekstra funktionalitet. For eksempel kan en afhængighed være et andet arkiv eller en fil i Java Projects. Andre dele af projektet refererer derefter til, hvilken afhængighed der skal køres.

Det kan være en fordel at have et klart billede af afhængighedstræet for dit projekt. Det gør det muligt hurtigt at finde konflikter mellem installerede pakker og løse dem effektivt.







I denne tutorial lærer vi, hvordan man ser afhængighedstræet for et Maven-projekt.'



Lad os komme igang.



Maven Dependency Plugin

Apache Maven-værktøjet kommer med et værktøj, der giver dig mulighed for at administrere dine afhængigheder. Maven Dependency Plugin vil gøre dig i stand til at køre en simpel kommando i dit projekt og visualisere alle dets afhængigheder.





Plugin-ressourcen er vist nedenfor:

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



Den bedste måde at visualisere dit projektafhængighedstræ med dette plugin er ved at køre følgende kommando:

mvn afhængighed : træ

Den forrige kommando vil lokalisere alle afhængigheder i dit projekt og returnere en trælignende struktur.

Lad os illustrere, hvordan vi kan opnå dette.

Du kan bruge ethvert Maven-projekt med alle nødvendige afhængigheder til at gøre dette.

Når du har kørt kommandoen ovenfor, bør du se følgende eksempeloutput:

[ INFO ] --- maven - afhængighed - plugin : 2.8 : træ ( Standard - cli ) @jedis ---
[ INFO ] redis. klienter : jedi : krukke : 4.3.0 - SNAPSHOT
[ INFO ] +- org. slf4j : slf4j - api : krukke : 1.7.32 : udarbejde
[ INFO ] +- org. apache . almue : almue - pool 2 : krukke : 2.11.1 : udarbejde
[ INFO ] +- org. json : json : krukke : 20211205 : udarbejde
[ INFO ] +- med. google . kode . gson : gson : krukke : 2.8.9 : udarbejde
[ INFO ] +- junit : junit : krukke : 4.13.2 : prøve
[ INFO ] | \ - org. hamcrest : hamcrest - kerne : krukke : 1.3 : prøve
[ INFO ] +- org. slf4j : slf4j - enkel : krukke : 1.7.32 : prøve
[ INFO ] +- med. kohlschutter . junix fatning : junix fatning - kerne : se : 2.4.0 : prøve
[ INFO ] | +- med. kohlschutter . junix fatning : junix fatning - hjemmehørende - almindelige : krukke : 2.4.0 : prøve
[ INFO ] | \ - med. kohlschutter . junix fatning : junix fatning - almindelige : krukke : 2.4.0 : prøve
[ INFO ] \ - org. mockito : mockito - inline : krukke : 3.12.4 : prøve
[ INFO ] \ - org. mockito : mockito - kerne : krukke : 3.12.4 : prøve
[ INFO ] +- net. bytebuddy : byte - kammerat : krukke : 1.11.13 : prøve
[ INFO ] +- net. bytebuddy : byte - kammerat - agent : krukke : 1.11.13 : prøve
[ INFO ] \ - org. aftalt : aftalt : krukke : 3.2 : prøve

Som du kan se fra outputtet ovenfor, returnerer Maven alle vores projekts afhængigheder i et listeformat.

Det er godt at huske på, at denne kommando kræver, at du har Maven og Java JDK installeret på dit system.

Filtreringsafhængigheder

Hvis du arbejder på et stort projekt, kan du finde det svært at se og administrere alle afhængigheder ved hjælp af ovenstående kommando.

Heldigvis giver Maven afhængighedstræ-plugin dig mulighed for at filtrere efter de viste afhængigheder. Det betyder, at du kan inkludere eller udelukke enhver afhængighed, du ønsker.

For kun at inkludere en specifik afhængighed, bruger vi indstillingen Dincludes som vist i følgende syntaks:

mvn afhængighed : træ - Inkluderer [ gruppe-id ] : [ artefakt-id ] : [ type ] : [ version ]

Husk, at hvert af segmenterne i parameteren -Dincludes er valgfrit.

For eksempel, for at vise, hvordan en specifik afhængighed bruges i projektet, kan vi køre følgende kommando:

mvn afhængighed : træ - Inkluderer = junix fatning : junix fatning - kerne

Den forrige kode skulle returnere:

[ INFO ]
[ INFO ] ------------------------< redis. klienter : jedi >>------------------------
[ INFO ] Opbygning af Jedis 4.3.0 - SNAPSHOT
[ INFO ] ---------------------------------- [ krukke ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - afhængighed - plugin : 2.8 : træ ( Standard - cli ) @jedis ---

For at udelukke en afhængighed fra træet kan vi bruge parameteren -Dincludes som vist i syntaksen nedenfor.:

mvn afhængighed : træ - Inkluderer = [ gruppe-id ] : [ artefakt-id ] : [ type ] : [ version ]

For eksempel:

mvn afhængighed : træ - Udelukker = junix fatning : junix fatning - kerne

Dette skulle returnere output som vist nedenfor:

Maven Gem afhængighed til fil

Du kan også gemme afhængighedstræet i en fil ved hjælp af parameteren -DoutputFile. Et eksempel er vist nedenfor:

mvn afhængighed : træ - Doutputfil = 'dep.tree'

I den forrige kommando instruerer vi Maven om at oprette et afhængighedstræ og gemme det i en fil kaldet dep.tree.

Det resulterende filoutput er angivet nedenfor:

+- org. slf4j : slf4j - api : krukke : 1.7.32 : udarbejde
+- org. apache . almue : almue - pool 2 : krukke : 2.11.1 : udarbejde
+- org. json : json : krukke : 20211205 : udarbejde
+- med. google . kode . gson : gson : krukke : 2.8.9 : udarbejde
+- junit : junit : krukke : 4.13.2 : prøve
| \ - org. hamcrest : hamcrest - kerne : krukke : 1.3 : prøve
+- org. slf4j : slf4j - enkel : krukke : 1.7.32 : prøve
+- med. kohlschutter . junix fatning : junix fatning - kerne : se : 2.4.0 : prøve
| +- med. kohlschutter . junix fatning : junix fatning - hjemmehørende - almindelige : krukke : 2.4.0 : prøve
| \ - med. kohlschutter . junix fatning : junix fatning - almindelige : krukke : 2.4.0 : prøve
\ - org. mockito : mockito - inline : krukke : 3.12.4 : prøve
\ - org. mockito : mockito - kerne : krukke : 3.12.4 : prøve
+- net. bytebuddy : byte - kammerat : krukke : 1.11.13 : prøve
+- net. bytebuddy : byte - kammerat - agent : krukke : 1.11.13 : prøve
\ - org. aftalt : aftalt : krukke : 3.2 : prøve

Maven vil kun inkludere projektafhængighederne i filen på en hierarkisk måde.

Konklusion

Dette indlæg dækkede, hvordan man kan se Maven-afhængighedstræet ved hjælp af Maven-afhængigheds-pluginnet.