'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 : treDen 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 - kjerneDen 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 - kjerneDette 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.