Di Maven 2, bagaimana saya tahu dari mana ketergantungan datang ketergantungan transitif?

97

Saya ingin tahu ketergantungan mana yang dijelaskan dalam pom.xml saya yang membawa ketergantungan transitif di direktori target saya.

Untuk lebih tepatnya, saya memiliki pustaka "poi-2.5.1-final-20040804.jar" di direktori WEB-INF / lib saya dan saya ingin tahu ketergantungan mana di pom.xml saya yang membawanya.

paulgreg
sumber

Jawaban:

132

Untuk menambahkan ke @David Crow, berikut adalah contoh dependensi: pohon dari situs Maven:

mvn dependency:tree -Dincludes=velocity:velocity

mungkin mengeluarkan

[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- velocity:velocity:jar:1.4:compile
A. Rex
sumber
1
Ini tidak berhasil untuk saya; yang saya dapatkan hanyalah kesalahan tentang nilai 'warisan' yang tidak didukung. Menjalankan versi @David Crow (yaitu tanpa bendera kecepatan) bekerja dengan baik.
Vlad Schnakovszki
8

Jika Anda menggunakan eclipse dan plugin m2eclipse maka ada versi grafis dari pohon ketergantungan di mana Anda dapat memfilter berdasarkan ruang lingkup, dll.

Brian Fox
sumber
2

Anda dapat memperoleh banyak laporan dengan

situs mvn

Salah satunya adalah laporan ketergantungan.

Bang
sumber
1

Jika Anda menjalankan maven dengan sakelar "-x", ini akan mencetak banyak diagnostik, saya kira jalur ketergantungan yang relevan dapat diambil dari sana.

Valters Vingolds
sumber
2
Nyatanya, jawaban ini bermanfaat. Saya menghadapi bug kelas aether terkenal yang tidak ditentukan yang disebabkan oleh peningkatan Maven saya dari 3.0 ke 3.3 dan perintah berikut menunjukkan bahwa plugin maven lain masih mencari versi 3.0.5 dari org.apache.maven: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak
Meskipun "-X" (huruf besar, nama alternatif "--debug") sering kali berguna, ini tidak memberi tahu Anda asal nomor versi. Tidak di Maven 3.6.0.
pemalsu alat
1

Informasi ketergantungan juga disertakan dalam laporan Informasi / Ketergantungan Proyek jika Anda telah membuat situs maven untuk proyek, menggunakan situs mvn.

Filip Korling
sumber