MVN beroendeträd

Mvn Beroendetrad



'Beroenden är externa koder och utdrag som importeras till ditt projekt för att ge extra funktionalitet. Till exempel kan ett beroende vara ett annat arkiv eller fil i Java Projects. Andra delar av projektet hänvisar sedan till beroendet som ska köras.

Att ha en tydlig bild av beroendeträdet för ditt projekt kan vara fördelaktigt. Det gör det möjligt att snabbt hitta konflikter mellan installerade paket och lösa dem effektivt.







I den här handledningen kommer vi att lära oss hur man ser beroendeträdet för ett Maven-projekt.'



Låt oss börja.



Maven Dependency Plugin

Verktyget Apache Maven kommer med ett verktyg som låter dig hantera dina beroenden. Maven Dependency Plugin gör att du kan köra ett enkelt kommando i ditt projekt och visualisera alla dess beroenden.





Plugin-resursen visas nedan:

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



Det bästa sättet att visualisera ditt projektberoendeträd med denna plugin är genom att köra följande kommando:

mvn beroende : träd

Det föregående kommandot kommer att lokalisera alla beroenden i ditt projekt och returnera en trädliknande struktur.

Låt oss illustrera hur vi kan åstadkomma detta.

Du kan använda vilket Maven-projekt som helst med alla nödvändiga beroenden för att göra detta.

När du kör kommandot ovan bör du se följande exempelutdata:

[ INFO ] --- maven - beroende - plugin : 2.8 : träd ( standard - cli ) @jedis ---
[ INFO ] redis. kunder : jedi : burk : 4.3.0 - ÖNSKESBILD
[ INFO ] +- org. slf4j : slf4j - api : burk : 1.7.32 : sammanställa
[ INFO ] +- org. apache . allmänningar : allmänningar - pool 2 : burk : 2.11.1 : sammanställa
[ INFO ] +- org. json : json : burk : 20211205 : sammanställa
[ INFO ] +- med. Google . koda . gson : gson : burk : 2.8.9 : sammanställa
[ INFO ] +- junit : junit : burk : 4.13.2 : testa
[ INFO ] | \ - org. hamcrest : hamcrest - kärna : burk : 1.3 : testa
[ INFO ] +- org. slf4j : slf4j - enkel : burk : 1.7.32 : testa
[ INFO ] +- med. kohlschutter . junixsocket : junixsocket - kärna : ser : 2.4.0 : testa
[ INFO ] | +- med. kohlschutter . junixsocket : junixsocket - inföding - allmänning : burk : 2.4.0 : testa
[ INFO ] | \ - med. kohlschutter . junixsocket : junixsocket - allmänning : burk : 2.4.0 : testa
[ INFO ] \ - org. mockito : mockito - i kö : burk : 3.12.4 : testa
[ INFO ] \ - org. mockito : mockito - kärna : burk : 3.12.4 : testa
[ INFO ] +- netto. bytebuddy : byte - kompis : burk : 1.11.13 : testa
[ INFO ] +- netto. bytebuddy : byte - kompis - ombud : burk : 1.11.13 : testa
[ INFO ] \ - org. gick med på : gick med på : burk : 3.2 : testa

Som du kan se från utgången ovan returnerar Maven alla vårt projekts beroenden i ett listformat.

Det är bra att komma ihåg att detta kommando kräver att du har Maven och Java JDK installerat på ditt system.

Filtreringsberoenden

Om du arbetar med ett stort projekt kan du ha svårt att se och hantera alla beroenden med kommandot ovan.

Lyckligtvis låter Maven beroendeträdsplugin dig filtrera efter de visade beroenden. Det betyder att du kan inkludera eller utesluta vilket beroende du vill.

För att endast inkludera ett specifikt beroende använder vi alternativet Dincludes som visas i följande syntax:

mvn beroende : träd - Inkluderar [ grupp-ID ] : [ artefakt-ID ] : [ typ ] : [ version ]

Tänk på att vart och ett av segmenten i parametern -Dincludes är valfritt.

Till exempel, för att visa hur ett specifikt beroende används i projektet, kan vi köra följande kommando:

mvn beroende : träd - Inkluderar = junixsocket : junixsocket - kärna

Den tidigare koden bör returnera:

[ INFO ]
[ INFO ] ------------------------< redis. kunder : jedi >------------------------
[ INFO ] Bygga Jedis 4.3.0 - ÖNSKESBILD
[ INFO ] -------------------------------- [ burk ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - beroende - plugin : 2.8 : träd ( standard - cli ) @jedis ---

För att utesluta ett beroende från trädet kan vi använda parametern -Dincludes som visas i syntaxen nedan.

mvn beroende : träd - Inkluderar = [ grupp-ID ] : [ artefakt-ID ] : [ typ ] : [ version ]

Till exempel:

mvn beroende : träd - Exkluderar = junixsocket : junixsocket - kärna

Detta bör returnera utdata som visas nedan:

Maven Spara beroende till fil

Du kan också spara beroendeträdet till en fil med parametern -DoutputFile. Ett exempel visas nedan:

mvn beroende : träd - DoutputFile = 'avd.träd'

I det föregående kommandot instruerar vi Maven att skapa ett beroendeträd och spara det i en fil som heter dep.tree.

Den resulterande filutgången tillhandahålls nedan:

+- org. slf4j : slf4j - api : burk : 1.7.32 : sammanställa
+- org. apache . allmänningar : allmänningar - pool 2 : burk : 2.11.1 : sammanställa
+- org. json : json : burk : 20211205 : sammanställa
+- med. Google . koda . gson : gson : burk : 2.8.9 : sammanställa
+- junit : junit : burk : 4.13.2 : testa
| \ - org. hamcrest : hamcrest - kärna : burk : 1.3 : testa
+- org. slf4j : slf4j - enkel : burk : 1.7.32 : testa
+- med. kohlschutter . junixsocket : junixsocket - kärna : ser : 2.4.0 : testa
| +- med. kohlschutter . junixsocket : junixsocket - inföding - allmänning : burk : 2.4.0 : testa
| \ - med. kohlschutter . junixsocket : junixsocket - allmänning : burk : 2.4.0 : testa
\ - org. mockito : mockito - i kö : burk : 3.12.4 : testa
\ - org. mockito : mockito - kärna : burk : 3.12.4 : testa
+- netto. bytebuddy : byte - kompis : burk : 1.11.13 : testa
+- netto. bytebuddy : byte - kompis - ombud : burk : 1.11.13 : testa
\ - org. gick med på : gick med på : burk : 3.2 : testa

Maven kommer bara att inkludera projektberoendena i filen på ett hierarkiskt sätt.

Slutsats

Det här inlägget täckte hur man ser Maven beroendeträd med Maven beroende plugin.