»Odvisnosti so zunanje kode in izrezki, uvoženi v vaš projekt za zagotavljanje dodatne funkcionalnosti. Na primer, odvisnost je lahko drug arhiv ali datoteka v Java Projects. Drugi deli projekta se nato sklicujejo na odvisnost, ki jo je treba izvesti.
Imeti jasno sliko drevesa odvisnosti za vaš projekt je lahko koristno. Omogoča hitro iskanje konfliktov med nameščenimi paketi in njihovo učinkovito reševanje.
V tej vadnici se bomo naučili, kako si ogledati drevo odvisnosti projekta Maven.”
Začnimo.
Maven Dependency Plugin
Pripomoček Apache Maven ima orodje, ki vam omogoča upravljanje odvisnosti. Maven Dependency Plugin vam bo omogočil zagon preprostega ukaza v vašem projektu in vizualizacijo vseh njegovih odvisnosti.
Vir vtičnika je prikazan spodaj:
https://maven.apache.org/plugins/maven-dependency-plugin/usage.html
Najboljši način za vizualizacijo drevesa odvisnosti vašega projekta s tem vtičnikom je zagon naslednjega ukaza:
mvn odvisnost : drevoPrejšnji ukaz bo našel vse odvisnosti v vašem projektu in vrnil drevesno strukturo.
Naj ponazorimo, kako lahko to dosežemo.
Za to lahko uporabite kateri koli projekt Maven s poljubnimi zahtevanimi odvisnostmi.
Ko zaženete zgornji ukaz, bi morali videti naslednji primer izhoda:
[ INFO ] --- maven - odvisnost - vključiti : 2.8 : drevo ( privzeto - cli ) @ jedis ---[ INFO ] redis. stranke : jedi : kozarec : 4.3.0 - POSNETEK
[ INFO ] +- org. slf4j : slf4j - api : kozarec : 1.7.32 : sestaviti
[ INFO ] +- org. apache . skupno : skupno - bazen2 : kozarec : 2.11.1 : sestaviti
[ INFO ] +- org. json : json : kozarec : 20211205 : sestaviti
[ INFO ] +- z. google . Koda . gson : gson : kozarec : 2.8.9 : sestaviti
[ INFO ] +- junit : junit : kozarec : 4.13.2 : test
[ INFO ] | \ - org. hamcrest : hamcrest - jedro : kozarec : 1.3 : test
[ INFO ] +- org. slf4j : slf4j - preprosto : kozarec : 1.7.32 : test
[ INFO ] +- z. kohlschutter . vtičnica junix : vtičnica junix - jedro : glej : 2.4.0 : test
[ INFO ] | +- z. kohlschutter . vtičnica junix : vtičnica junix - domačin - običajni : kozarec : 2.4.0 : test
[ INFO ] | \ - z. kohlschutter . vtičnica junix : vtičnica junix - običajni : kozarec : 2.4.0 : test
[ INFO ] \ - org. mockito : mockito - v vrsti : kozarec : 3.12.4 : test
[ INFO ] \ - org. mockito : mockito - jedro : kozarec : 3.12.4 : test
[ INFO ] +- mreža. bytebuddy : bajt - prijatelj : kozarec : 1.11.13 : test
[ INFO ] +- mreža. bytebuddy : bajt - prijatelj - agent : kozarec : 1.11.13 : test
[ INFO ] \ - org. dogovorjeno : dogovorjeno : kozarec : 3.2 : test
Kot lahko vidite iz zgornjega rezultata, Maven vrne vse odvisnosti našega projekta v obliki seznama.
Dobro je upoštevati, da ta ukaz zahteva, da imate v sistemu nameščen Maven in Java JDK.
Filtriranje odvisnosti
Če delate na velikem projektu, boste morda težko videli in upravljali vse odvisnosti z zgornjim ukazom.
Na srečo vam vtičnik drevesa odvisnosti Maven omogoča filtriranje prikazanih odvisnosti. To pomeni, da lahko vključite ali izključite katero koli odvisnost, ki jo želite.
Če želite vključiti samo določeno odvisnost, uporabimo možnost Dincludes, kot je prikazano v naslednji sintaksi:
mvn odvisnost : drevo - Ne vključuje [ groupId ] : [ artefactId ] : [ vrsta ] : [ različica ]Upoštevajte, da je vsak segment v parametru -Dincludes neobvezen.
Na primer, da pokažemo, kako se določena odvisnost uporablja v projektu, lahko zaženemo naslednji ukaz:
mvn odvisnost : drevo - Ne vključuje = vtičnica junix : vtičnica junix - jedroPrejšnja koda bi morala vrniti:
[ INFO ][ INFO ] ------------------------< redis. stranke : jedi >------------------------
[ INFO ] Gradnja Jedijev 4.3.0 - POSNETEK
[ INFO ] -------------------------------- [ kozarec ] ----------------------------------
[ INFO ]
[ INFO ] --- maven - odvisnost - vključiti : 2.8 : drevo ( privzeto - cli ) @ jedis ---
Za izključitev odvisnosti iz drevesa lahko uporabimo parameter -Dincludes, kot je prikazano v spodnji sintaksi.:
mvn odvisnost : drevo - Ne vključuje = [ groupId ] : [ artefactId ] : [ vrsta ] : [ različica ]Na primer:
mvn odvisnost : drevo - Izključuje = vtičnica junix : vtičnica junix - jedroTo bi moralo vrniti izhod, kot je prikazano spodaj:
Maven Shrani odvisnost v datoteko
Drevo odvisnosti lahko shranite tudi v datoteko s parametrom -DoutputFile. Spodaj je prikazan primer:
mvn odvisnost : drevo - DoutputFile = 'dep.tree'V prejšnjem ukazu Mavenu naročimo, naj ustvari drevo odvisnosti in ga shrani v datoteko z imenom dep.tree.
Končni rezultat datoteke je naveden spodaj:
+- org. slf4j : slf4j - api : kozarec : 1.7.32 : sestaviti+- org. apache . skupno : skupno - bazen2 : kozarec : 2.11.1 : sestaviti
+- org. json : json : kozarec : 20211205 : sestaviti
+- z. google . Koda . gson : gson : kozarec : 2.8.9 : sestaviti
+- junit : junit : kozarec : 4.13.2 : test
| \ - org. hamcrest : hamcrest - jedro : kozarec : 1.3 : test
+- org. slf4j : slf4j - preprosto : kozarec : 1.7.32 : test
+- z. kohlschutter . vtičnica junix : vtičnica junix - jedro : glej : 2.4.0 : test
| +- z. kohlschutter . vtičnica junix : vtičnica junix - domačin - običajni : kozarec : 2.4.0 : test
| \ - z. kohlschutter . vtičnica junix : vtičnica junix - običajni : kozarec : 2.4.0 : test
\ - org. mockito : mockito - v vrsti : kozarec : 3.12.4 : test
\ - org. mockito : mockito - jedro : kozarec : 3.12.4 : test
+- mreža. bytebuddy : bajt - prijatelj : kozarec : 1.11.13 : test
+- mreža. bytebuddy : bajt - prijatelj - agent : kozarec : 1.11.13 : test
\ - org. dogovorjeno : dogovorjeno : kozarec : 3.2 : test
Maven bo v datoteko vključil samo odvisnosti projekta na hierarhični način.
Zaključek
Ta objava je obravnavala, kako si ogledate drevo odvisnosti Maven z uporabo vtičnika odvisnosti Maven.