Pokok Ketergantungan MVN

Pokok Ketergantungan Mvn



“Pergantungan ialah kod luaran dan coretan yang diimport ke dalam projek anda untuk menyediakan fungsi tambahan. Sebagai contoh, kebergantungan boleh menjadi arkib atau fail lain dalam Projek Java. Bahagian lain projek kemudian merujuk kebergantungan untuk dijalankan.

Mempunyai imej yang jelas tentang pokok pergantungan untuk projek anda boleh memberi manfaat. Ia membolehkan mencari konflik dengan cepat antara pakej yang dipasang dan menyelesaikannya dengan cekap.







Dalam tutorial ini, kami akan belajar cara melihat pokok pergantungan projek Maven.



Mari kita mulakan.



Pemalam Ketergantungan Maven

Utiliti Apache Maven dilengkapi dengan alat yang membolehkan anda mengurus kebergantungan anda. Maven Dependency Plugin akan membolehkan anda menjalankan arahan mudah dalam projek anda dan memvisualisasikan semua kebergantungannya.





Sumber pemalam ditunjukkan di bawah:

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



Cara terbaik untuk menggambarkan pepohon pergantungan projek anda dengan pemalam ini adalah dengan menjalankan arahan berikut:

pergantungan mvn : pokok

Perintah sebelumnya akan mencari semua kebergantungan dalam projek anda dan mengembalikan struktur seperti pokok.

Marilah kita menggambarkan bagaimana kita boleh mencapai ini.

Anda boleh menggunakan mana-mana projek Maven dengan sebarang kebergantungan yang diperlukan untuk melakukan ini.

Sebaik sahaja anda menjalankan arahan di atas, anda akan melihat contoh output berikut:

[ INFO ] --- pandai - pergantungan - pasangkan : 2.8 : pokok ( lalai - cli ) @ jedis ---
[ INFO ] redis. pelanggan : jedi : balang : 4.3.0 - GAMBAR GAMBAR
[ INFO ] +- org. slf4j : slf4j - api : balang : 1.7.32 : menyusun
[ INFO ] +- org. apache . orang biasa : orang biasa - kolam2 : balang : 2.11.1 : menyusun
[ INFO ] +- org. json : json : balang : 20211205 : menyusun
[ INFO ] +- dengan. google . kod . gson : gson : balang : 2.8.9 : menyusun
[ INFO ] +- junit : junit : balang : 4.13.2 : ujian
[ INFO ] | \ - org. hamcrest : hamcrest - teras : balang : 1.3 : ujian
[ INFO ] +- org. slf4j : slf4j - ringkas : balang : 1.7.32 : ujian
[ INFO ] +- dengan. kohlschutter . soket junix : soket junix - teras : lihat : 2.4.0 : ujian
[ INFO ] | +- dengan. kohlschutter . soket junix : soket junix - asli - biasa : balang : 2.4.0 : ujian
[ INFO ] | \ - dengan. kohlschutter . soket junix : soket junix - biasa : balang : 2.4.0 : ujian
[ INFO ] \ - org. mockito : mockito - dalam barisan : balang : 3.12.4 : ujian
[ INFO ] \ - org. mockito : mockito - teras : balang : 3.12.4 : ujian
[ INFO ] +- jaring. bytebuddy : bait - kawan : balang : 1.11.13 : ujian
[ INFO ] +- jaring. bytebuddy : bait - kawan - ejen : balang : 1.11.13 : ujian
[ INFO ] \ - org. bersetuju : bersetuju : balang : 3.2 : ujian

Seperti yang anda lihat daripada output di atas, Maven mengembalikan semua kebergantungan projek kami dalam format senarai.

Adalah baik untuk diingat bahawa arahan ini memerlukan anda memasang Maven dan Java JDK pada sistem anda.

Penapisan Kebergantungan

Jika anda sedang menjalankan projek yang besar, anda mungkin mendapati sukar untuk melihat dan mengurus semua kebergantungan menggunakan arahan di atas.

Nasib baik, pemalam pokok kebergantungan Maven membolehkan anda menapis untuk kebergantungan yang ditunjukkan. Ini bermakna anda boleh memasukkan atau mengecualikan sebarang pergantungan yang anda inginkan.

Untuk memasukkan hanya pergantungan tertentu, kami menggunakan pilihan Dincludes seperti yang ditunjukkan dalam sintaks berikut:

pergantungan mvn : pokok - Termasuk [ groupId ] : [ artifactId ] : [ menaip ] : [ versi ]

Perlu diingat bahawa setiap segmen dalam parameter -Dincludes adalah pilihan.

Sebagai contoh, untuk menunjukkan cara pergantungan khusus digunakan dalam projek, kita boleh menjalankan arahan berikut:

pergantungan mvn : pokok - Termasuk = soket junix : soket junix - teras

Kod sebelumnya harus kembali:

[ INFO ]
[ INFO ] ------------------------< redis. pelanggan : jedi > --------------------------
[ INFO ] Membina Jedis 4.3.0 - GAMBAR GAMBAR
[ INFO ] -------------------------------- [ balang ] ---------------------------------
[ INFO ]
[ INFO ] --- pandai - pergantungan - pasangkan : 2.8 : pokok ( lalai - cli ) @ jedis ---

Untuk mengecualikan kebergantungan daripada pepohon, kita boleh menggunakan parameter -Dincludes seperti yang ditunjukkan dalam sintaks di bawah.:

pergantungan mvn : pokok - Termasuk = [ groupId ] : [ artifactId ] : [ menaip ] : [ versi ]

Sebagai contoh:

pergantungan mvn : pokok - Tidak termasuk = soket junix : soket junix - teras

Ini sepatutnya mengembalikan output seperti yang ditunjukkan di bawah:

Maven Simpan Ketergantungan pada Fail

Anda juga boleh menyimpan pepohon kebergantungan pada fail menggunakan parameter -DoutputFile. Satu contoh ditunjukkan di bawah:

pergantungan mvn : pokok - Fail Doutput = 'dep.tree'

Dalam arahan sebelumnya, kami mengarahkan Maven untuk mencipta pepohon pergantungan dan menyimpannya ke dalam fail yang dipanggil dep.tree.

Output fail yang terhasil disediakan di bawah:

+- org. slf4j : slf4j - api : balang : 1.7.32 : menyusun
+- org. apache . orang biasa : orang biasa - kolam2 : balang : 2.11.1 : menyusun
+- org. json : json : balang : 20211205 : menyusun
+- dengan. google . kod . gson : gson : balang : 2.8.9 : menyusun
+- junit : junit : balang : 4.13.2 : ujian
| \ - org. hamcrest : hamcrest - teras : balang : 1.3 : ujian
+- org. slf4j : slf4j - ringkas : balang : 1.7.32 : ujian
+- dengan. kohlschutter . soket junix : soket junix - teras : lihat : 2.4.0 : ujian
| +- dengan. kohlschutter . soket junix : soket junix - asli - biasa : balang : 2.4.0 : ujian
| \ - dengan. kohlschutter . soket junix : soket junix - biasa : balang : 2.4.0 : ujian
\ - org. mockito : mockito - dalam barisan : balang : 3.12.4 : ujian
\ - org. mockito : mockito - teras : balang : 3.12.4 : ujian
+- jaring. bytebuddy : bait - kawan : balang : 1.11.13 : ujian
+- jaring. bytebuddy : bait - kawan - ejen : balang : 1.11.13 : ujian
\ - org. bersetuju : bersetuju : balang : 3.2 : ujian

Maven hanya akan memasukkan kebergantungan projek dalam fail secara hierarki.

Kesimpulan

Siaran ini merangkumi cara melihat pepohon pergantungan Maven menggunakan pemalam pergantungan Maven.