„A függőségek külső kódok és töredékek, amelyeket a projektbe importálnak, hogy extra funkciókat biztosítsanak. Például egy függőség lehet egy másik archívum vagy fájl a Java Projectsben. A projekt többi része ezután hivatkozik a futtatandó függőségre.
Hasznos lehet, ha világos képet alkot a projekt függőségi fájáról. Lehetővé teszi a telepített csomagok közötti konfliktusok gyors megtalálását és hatékony megoldását.
Ebben az oktatóanyagban megtanuljuk, hogyan tekinthetjük meg egy Maven-projekt függőségi fáját.
Kezdjük el.
Maven Dependency Plugin
Az Apache Maven segédprogramhoz tartozik egy eszköz, amely lehetővé teszi a függőségek kezelését. A Maven Dependency Plugin lehetővé teszi egy egyszerű parancs futtatását a projektben, és megjelenítheti annak összes függőségét.
A beépülő modul forrása az alábbiakban látható:
https://maven.apache.org/plugins/maven-dependency-plugin/usage.html
A projektfüggőségi fa megjelenítésének legjobb módja ezzel a beépülő modullal a következő parancs futtatása:
mvn függőség : faAz előző parancs megkeresi a projekt összes függőségét, és egy faszerű struktúrát ad vissza.
Mutatjuk, hogyan tudjuk ezt megvalósítani.
Ehhez bármilyen szükséges függőséggel rendelkező Maven projektet használhat.
A fenti parancs futtatása után a következő példa kimenetet kell látnia:
[ INFO ] --- maven - függőség - csatlakoztat : 2.8 : fa ( alapértelmezett - cli ) @ Jedis ---[ INFO ] redis. ügyfelek : jedi : befőttes üveg : 4.3.0 - PILLANATKÉP
[ INFO ] +- org. slf4j : slf4j - api : befőttes üveg : 1.7.32 : összeállítani
[ INFO ] +- org. apache . közbirtokosság : közbirtokosság - medence2 : befőttes üveg : 2.11.1 : összeállítani
[ INFO ] +- org. json : json : befőttes üveg : 20211205 : összeállítani
[ INFO ] +- val vel. Google . kód . gson : gson : befőttes üveg : 2.8.9 : összeállítani
[ INFO ] +- junit : junit : befőttes üveg : 4.13.2 : teszt
[ INFO ] | \ - org. hamcrest : hamcrest - mag : befőttes üveg : 1.3 : teszt
[ INFO ] +- org. slf4j : slf4j - egyszerű : befőttes üveg : 1.7.32 : teszt
[ INFO ] +- val vel. kohlschutter . junix foglalat : junix foglalat - mag : lát : 2.4.0 : teszt
[ INFO ] | +- val vel. kohlschutter . junix foglalat : junix foglalat - anyanyelvi - gyakori : befőttes üveg : 2.4.0 : teszt
[ INFO ] | \ - val vel. kohlschutter . junix foglalat : junix foglalat - gyakori : befőttes üveg : 2.4.0 : teszt
[ INFO ] \ - org. mockito : mockito - Sorban : befőttes üveg : 3.12.4 : teszt
[ INFO ] \ - org. mockito : mockito - mag : befőttes üveg : 3.12.4 : teszt
[ INFO ] +- háló. bytebuddy : byte - haver : befőttes üveg : 1.11.13 : teszt
[ INFO ] +- háló. bytebuddy : byte - haver - ügynök : befőttes üveg : 1.11.13 : teszt
[ INFO ] \ - org. egyetért : egyetért : befőttes üveg : 3.2 : teszt
Amint a fenti kimenetből látható, a Maven a projektünk összes függőségét lista formátumban adja vissza.
Érdemes szem előtt tartani, hogy ehhez a parancshoz a Maven és a Java JDK telepítése szükséges a rendszeren.
Függőségek szűrése
Ha egy nagy projekten dolgozik, előfordulhat, hogy a fenti paranccsal nehezen tudja megtekinteni és kezelni az összes függőséget.
Szerencsére a Maven függőségi fa beépülő modulja lehetővé teszi a megjelenített függőségek szűrését. Ez azt jelenti, hogy bármilyen függőséget beilleszthet vagy kizárhat.
Ha csak egy adott függőséget akarunk belefoglalni, akkor a Dincludes opciót használjuk, ahogy az a következő szintaxisban látható:
mvn függőség : fa - Tartalmazza [ csoportazonosító ] : [ artifactId ] : [ típus ] : [ változat ]Ne feledje, hogy az -Includes paraméterben minden szegmens nem kötelező.
Például annak bemutatásához, hogy egy adott függőséget hogyan használnak a projektben, a következő parancsot futtathatjuk:
mvn függőség : fa - Tartalmazza = junix foglalat : junix foglalat - magAz előző kódnak vissza kell térnie:
[ INFO ][ INFO ] -------------------------< redis. ügyfelek : jedi >-------------------------
[ INFO ] Jedis 4.3.0 építése - PILLANATKÉP
[ INFO ] -------------------------------- [ befőttes üveg ] ---------------------------------
[ INFO ]
[ INFO ] --- maven - függőség - csatlakoztat : 2.8 : fa ( alapértelmezett - cli ) @ Jedis ---
Ha ki akarunk zárni egy függőséget a fából, használhatjuk a -Includes paramétert az alábbi szintaxis szerint.:
mvn függőség : fa - Tartalmazza = [ csoportazonosító ] : [ artifactId ] : [ típus ] : [ változat ]Például:
mvn függőség : fa - Kizárja = junix foglalat : junix foglalat - magEnnek vissza kell adnia a kimenetet az alábbiak szerint:
Maven Mentse a függőséget fájlba
A függőségi fát a -DoutputFile paraméterrel fájlba is mentheti. Az alábbiakban egy példa látható:
mvn függőség : fa - DoutputFile = 'mély.fa'Az előző parancsban utasítottuk a Maven-t, hogy hozzon létre egy függőségi fát, és mentse el egy dep.tree nevű fájlba.
Az eredményül kapott fájlkimenet az alábbiakban látható:
+- org. slf4j : slf4j - api : befőttes üveg : 1.7.32 : összeállítani+- org. apache . közbirtokosság : közbirtokosság - medence2 : befőttes üveg : 2.11.1 : összeállítani
+- org. json : json : befőttes üveg : 20211205 : összeállítani
+- val vel. Google . kód . gson : gson : befőttes üveg : 2.8.9 : összeállítani
+- junit : junit : befőttes üveg : 4.13.2 : teszt
| \ - org. hamcrest : hamcrest - mag : befőttes üveg : 1.3 : teszt
+- org. slf4j : slf4j - egyszerű : befőttes üveg : 1.7.32 : teszt
+- val vel. kohlschutter . junix foglalat : junix foglalat - mag : lát : 2.4.0 : teszt
| +- val vel. kohlschutter . junix foglalat : junix foglalat - anyanyelvi - gyakori : befőttes üveg : 2.4.0 : teszt
| \ - val vel. kohlschutter . junix foglalat : junix foglalat - gyakori : befőttes üveg : 2.4.0 : teszt
\ - org. mockito : mockito - Sorban : befőttes üveg : 3.12.4 : teszt
\ - org. mockito : mockito - mag : befőttes üveg : 3.12.4 : teszt
+- háló. bytebuddy : byte - haver : befőttes üveg : 1.11.13 : teszt
+- háló. bytebuddy : byte - haver - ügynök : befőttes üveg : 1.11.13 : teszt
\ - org. egyetért : egyetért : befőttes üveg : 3.2 : teszt
A Maven csak hierarchikusan tartalmazza a projektfüggőségeket a fájlban.
Következtetés
Ez a bejegyzés bemutatta, hogyan tekintheti meg a Maven függőségi fát a Maven függőségi beépülő modul használatával.