Buat proyek sederhana hanya dengan pom.xml. Tambahkan ketergantungan Anda dan jalankan:
mvn dependency:tree
Sayangnya ketergantungan mojo harus menggunakan pom.xml atau Anda mendapatkan kesalahan berikut:
Tidak dapat mengeksekusi mojo: tree. Ini membutuhkan proyek dengan pom.xml yang sudah ada, tetapi build tidak menggunakannya.
2) Temukan pom.xml artefak Anda di repositori pusat maven
Dependensi dijelaskan dalam pom.xml artefak Anda. Temukan menggunakan infrastruktur maven.
Buka http://search.maven.org/ dan masukkan groupId dan artifactId Anda.
Atau Anda dapat membuka http://repo1.maven.org/maven2/ dan menavigasi terlebih dahulu menggunakan plugin groupId, kemudian menggunakan artifactId dan terakhir menggunakan versinya.
Misalnya lihat org.springframework: spring-core
3) Gunakan plugin ketergantungan maven terhadap artefak Anda
Bagian dari artefak ketergantungan adalah pom.xml. Itu menentukan ketergantungannya. Dan Anda dapat menjalankan dependensi mvn: tree di pom ini.
pom.xml
file) Anda mungkin mendapatkan kesalahan. Kalaumvn compile dependency:tree
begitu coba .Jika Anda repot-repot membuat proyek sampel dan menambahkan dependensi pihak ke-3 Anda, maka Anda dapat menjalankan yang berikut untuk melihat hierarki lengkap dependensi.
Anda dapat mencari artefak tertentu menggunakan perintah maven ini:
Menurut dokumentasi:
Bayangkan Anda mencoba menemukan file jar 'log4j-1.2-api' di antara berbagai modul proyek Anda:
informasi lebih lanjut dapat ditemukan di sini .
Sunting: Harap dicatat bahwa meskipun keuntungan menggunakan parameter verbose , mungkin tidak begitu akurat dalam beberapa kondisi. Karena menggunakan algoritma Maven 2 dan dapat memberikan hasil yang salah jika digunakan dengan Maven 3.
sumber
-Dverbose
cukup untuk menunjukkan kepada saya pohon lengkap yang saya butuhkan. Menyalurkan output keless
atau serupa dan melakukan pencarian cepat berfungsi dengan baik jika Anda tidak dapat mengingatincludes
benderanya atau tidak ingin memberikan yang lengkap atau karakter penggantigroupId
:)[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
Solusinya adalah dengan memanggil ketergantungan: pohon dengan file pom.xml artefak:
Lihat juga Bagaimana cara membuat daftar dependensi transitif dari sebuah artefak dari repositori?
sumber
Jika Anda menggunakan m2eclipse versi terbaru (yang harus Anda gunakan jika menggunakan eclipse dan maven):
Pilih entri menu
Navigate -> Open Maven POM
dan masukkan artefak yang Anda cari.
Pom akan terbuka di editor pom, dari mana Anda dapat memilih tab
Dependency Hierarchy
untuk melihat hierarki ketergantungan (seperti namanya :-))sumber
Jika artefak Anda tidak bergantung pada proyek tertentu, taruhan terbaik Anda adalah menggunakan mesin pencari repositori . Banyak dari mereka menggambarkan ketergantungan artefak tertentu.
sumber
Jika Anda ingin mendapatkan representasi grafik yang dapat dicari dari pohon ketergantungan (termasuk semua modul dari proyek Anda, ketergantungan transitif, dan informasi penggusuran), lihat UpdateImpact: https://app.updateimpact.com (layanan gratis).
Penafian: Saya salah satu pengembang situs ini
sumber
Saya tahu posting ini sudah cukup lama, tapi tetap saja, jika ada yang menggunakan IntelliJ ingin melihat pohon ketergantungan langsung di IDE maka mereka dapat menginstal plugin Maven Helper Plugin .
Setelah terinstal, buka pom.xml dan Anda akan melihat tab Analisis Ketergantungan seperti di bawah ini. Ini juga menyediakan opsi untuk melihat ketergantungan yang hanya berkonflik dan juga sebagai struktur pohon.
sumber