Pohon Ketergantungan MVN

Pohon Ketergantungan Mvn

“Ketergantungan adalah kode dan cuplikan eksternal yang diimpor ke proyek Anda untuk menyediakan fungsionalitas tambahan. Misalnya, ketergantungan dapat berupa arsip atau file lain di Proyek Java. Bagian lain dari proyek kemudian merujuk ketergantungan untuk dijalankan.

Memiliki gambaran yang jelas tentang pohon ketergantungan untuk proyek Anda dapat bermanfaat. Ini memungkinkan dengan cepat menemukan konflik antara paket yang diinstal dan menyelesaikannya secara efisien.



Dalam tutorial ini, kita akan belajar cara melihat pohon ketergantungan proyek Maven.”



Mari kita mulai.



Plugin Ketergantungan Maven

Utilitas Apache Maven dilengkapi dengan alat yang memungkinkan Anda untuk mengelola dependensi Anda. Plugin Ketergantungan Maven akan memungkinkan Anda menjalankan perintah sederhana di proyek Anda dan memvisualisasikan semua dependensinya.

Sumber daya plugin ditunjukkan di bawah ini:

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



Cara terbaik untuk memvisualisasikan pohon ketergantungan proyek Anda dengan plugin ini adalah dengan menjalankan perintah berikut:

ketergantungan mvn : pohon

Perintah sebelumnya akan menemukan semua dependensi dalam proyek Anda dan mengembalikan struktur seperti pohon.

Mari kita ilustrasikan bagaimana kita dapat mencapai hal ini.

Anda dapat menggunakan proyek Maven apa pun dengan dependensi yang diperlukan untuk melakukan ini.

Setelah Anda menjalankan perintah di atas, Anda akan melihat contoh output berikut:

[ INFORMASI ] --- ahli - ketergantungan - pengaya : 2.8 : pohon ( bawaan - kli ) @ jedis ---
[ INFORMASI ] redis. klien : jedi : stoples : 4.3.0 - FOTO
[ INFORMASI ] +- organisasi slf4j : slf4j - api : stoples : 1.7.32 : menyusun
[ INFORMASI ] +- organisasi apache . milik bersama : milik bersama - kolam renang2 : stoples : 2.11.1 : menyusun
[ INFORMASI ] +- organisasi json : json : stoples : 20211205 : menyusun
[ INFORMASI ] +- dengan. google . kode . gson : gson : stoples : 2.8.9 : menyusun
[ INFORMASI ] +- junit : junit : stoples : 4.13.2 : uji
[ INFORMASI ] | \ - organisasi paha belakang : paha belakang - inti : stoples : 1.3 : uji
[ INFORMASI ] +- organisasi slf4j : slf4j - sederhana : stoples : 1.7.32 : uji
[ INFORMASI ] +- dengan. kohlschutter . soket junix : soket junix - inti : melihat : 2.4.0 : uji
[ INFORMASI ] | +- dengan. kohlschutter . soket junix : soket junix - warga asli - umum : stoples : 2.4.0 : uji
[ INFORMASI ] | \ - dengan. kohlschutter . soket junix : soket junix - umum : stoples : 2.4.0 : uji
[ INFORMASI ] \ - organisasi mockito : mockito - Di barisan : stoples : 3.12.4 : uji
[ INFORMASI ] \ - organisasi mockito : mockito - inti : stoples : 3.12.4 : uji
[ INFORMASI ] +- bersih. bytebuddy : byte - sobat : stoples : 1.11.13 : uji
[ INFORMASI ] +- bersih. bytebuddy : byte - sobat - agen : stoples : 1.11.13 : uji
[ INFORMASI ] \ - organisasi sepakat : sepakat : stoples : 3.2 : uji

Seperti yang Anda lihat dari output di atas, Maven mengembalikan semua dependensi proyek kami dalam format daftar.

Baik untuk diingat bahwa perintah ini mengharuskan Anda untuk menginstal Maven dan Java JDK di sistem Anda.

Memfilter Ketergantungan

Jika Anda sedang mengerjakan proyek besar, Anda mungkin merasa sulit untuk melihat dan mengelola semua dependensi menggunakan perintah di atas.

Untungnya, plugin pohon ketergantungan Maven memungkinkan Anda memfilter dependensi yang ditampilkan. Ini berarti Anda dapat memasukkan atau mengecualikan ketergantungan apa pun yang Anda inginkan.

Untuk menyertakan hanya ketergantungan tertentu, kami menggunakan opsi Dincludes seperti yang ditunjukkan dalam sintaks berikut:

ketergantungan mvn : pohon - Tidak termasuk [ ID grup ] : [ artifactId ] : [ Tipe ] : [ Versi: kapan ]

Perlu diingat bahwa setiap segmen dalam parameter -Dincludes bersifat opsional.

Misalnya, untuk menunjukkan bagaimana ketergantungan tertentu digunakan dalam proyek, kita dapat menjalankan perintah berikut:

ketergantungan mvn : pohon - Tidak termasuk = soket junix : soket junix - inti

Kode sebelumnya harus kembali:

[ INFORMASI ]
[ INFORMASI ] ------------------------< redis. klien : jedi >-------------------------
[ INFORMASI ] Membangun Jedis 4.3.0 - FOTO
[ INFORMASI ] -------------------------------- [ stoples ] ----------------------------------
[ INFORMASI ]
[ INFORMASI ] --- ahli - ketergantungan - pengaya : 2.8 : pohon ( bawaan - kli ) @ jedis ---

Untuk mengecualikan ketergantungan dari pohon, kita dapat menggunakan parameter -Dincludes seperti yang ditunjukkan pada sintaks di bawah ini.:

ketergantungan mvn : pohon - Tidak termasuk = [ ID grup ] : [ artifactId ] : [ Tipe ] : [ Versi: kapan ]

Sebagai contoh:

ketergantungan mvn : pohon - Tidak termasuk = soket junix : soket junix - inti

Ini harus mengembalikan output seperti yang ditunjukkan di bawah ini:

Maven Simpan Ketergantungan ke File

Anda juga dapat menyimpan pohon dependensi ke file menggunakan parameter -DoutputFile. Contoh ditunjukkan di bawah ini:

ketergantungan mvn : pohon - File Doutput = 'dep.pohon'

Pada perintah sebelumnya, kita menginstruksikan Maven untuk membuat pohon ketergantungan dan menyimpannya ke dalam file bernama dep.tree.

Output file yang dihasilkan disediakan di bawah ini:

+- organisasi slf4j : slf4j - api : stoples : 1.7.32 : menyusun
+- organisasi apache . milik bersama : milik bersama - kolam renang2 : stoples : 2.11.1 : menyusun
+- organisasi json : json : stoples : 20211205 : menyusun
+- dengan. google . kode . gson : gson : stoples : 2.8.9 : menyusun
+- junit : junit : stoples : 4.13.2 : uji
| \ - organisasi paha belakang : paha belakang - inti : stoples : 1.3 : uji
+- organisasi slf4j : slf4j - sederhana : stoples : 1.7.32 : uji
+- dengan. kohlschutter . soket junix : soket junix - inti : melihat : 2.4.0 : uji
| +- dengan. kohlschutter . soket junix : soket junix - warga asli - umum : stoples : 2.4.0 : uji
| \ - dengan. kohlschutter . soket junix : soket junix - umum : stoples : 2.4.0 : uji
\ - organisasi mockito : mockito - Di barisan : stoples : 3.12.4 : uji
\ - organisasi mockito : mockito - inti : stoples : 3.12.4 : uji
+- bersih. bytebuddy : byte - sobat : stoples : 1.11.13 : uji
+- bersih. bytebuddy : byte - sobat - agen : stoples : 1.11.13 : uji
\ - organisasi sepakat : sepakat : stoples : 3.2 : uji

Maven hanya akan menyertakan dependensi proyek dalam file secara hierarkis.

Kesimpulan

Posting ini membahas cara melihat pohon ketergantungan Maven menggunakan plugin ketergantungan Maven.