Dapatkan semua modul dependensi Pihak ke-3 yang digunakan di Maven

Kami memiliki proyek pakar multi-modul. Saya memiliki kasus penggunaan di mana saya ingin mengetahui untuk mendapatkan daftar semua dependensi yang digunakan dalam kode dengan versi:

  1. Jika sudah dinyatakan di pom dan sedang digunakan.
  2. Tidak dinyatakan di POM namun masih dipakai (import transitif).

Bonusnya adalah jika pendekatan ini dapat mengecualikan deps yang dideklarasikan di pom tetapi tidak digunakan dalam kode.

Tolong sarankan cara terbaik untuk mencapai ini. TIA.


person bewithaman    schedule 09.08.2020    source sumber
comment
Apakah ini menjawab pertanyaan Anda? Cara dapatkan daftar dependensi pakar dan repositori tempat mereka diambil   -  person PiRocks    schedule 09.08.2020


Jawaban (2)


Cukup gunakan perintah mvn dependency:tree.

person Tobias Miosczka    schedule 09.08.2020
comment
itu tidak berfungsi dengan benar di tingkat modul. Saya menjalankannya untuk satu modul tingkat rendah dan mencetak ketergantungan transitif yang tidak digunakan dalam modul itu tetapi beberapa modul tingkat tinggi lainnya. - person bewithaman; 10.08.2020

Ada Plugin Ketergantungan Maven:

Plugin ketergantungan menyediakan kemampuan untuk memanipulasi artefak. Itu dapat menyalin dan/atau membongkar artefak dari repositori lokal atau jarak jauh ke lokasi tertentu.

dengan sasaran tree:

Menampilkan pohon ketergantungan untuk proyek ini.

Mengenai bonus Anda, ada sasaran analyze:

menganalisis ketergantungan proyek ini dan menentukan mana yang: digunakan dan dideklarasikan; digunakan dan tidak diumumkan; tidak digunakan dan dinyatakan.

dan sasaran analyze-only:

sama dengan menganalisis, tetapi dimaksudkan untuk diikat dalam sebuah pom. Itu tidak mem-fork build dan mengeksekusi tes-kompilasi.

person Gerold Broser    schedule 09.08.2020
comment
itu tidak berfungsi dengan benar di tingkat modul. Saya menjalankannya untuk satu modul tingkat rendah dan mencetak ketergantungan transitif yang tidak digunakan dalam modul itu tetapi beberapa modul tingkat tinggi lainnya. - person bewithaman; 10.08.2020
comment
@bewithaman Tidak bisa mengatakan apa-apa lagi. Sudah lama tidak menggunakannya dan tidak mengenal lingkungan sekitar tentunya. Jika ya, itu adalah topik untuk pertanyaan lain. - person Gerold Broser; 10.08.2020