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.

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

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.


2

Anda dapat memperoleh banyak laporan dengan

situs mvn

Salah satunya adalah laporan ketergantungan.


1

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


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.