Bagaimana Anda bisa menampilkan pohon ketergantungan Maven untuk * plugin * di proyek Anda?

130

Teknik debugging Maven yang umum adalah menggunakan dependensi mvn: tree untuk melihat grafik dependensi proyek.

Namun, daftar ini menunjukkan dependensi proyek, bukan pohon dependensi plugin untuk setiap plugin. Apakah ada cara untuk melakukan ini dari suatu proyek?

Alex Miller
sumber
1
Sudahkah Anda mencoba menjalankan mvn -X ...
khmarbaise
Ya, dan itu bermanfaat untuk masalah tertentu tetapi bukan yang saya minta.
Alex Miller
Ini berisi dependensi dari plugin jika tidak ada hal seperti itu tidak tersedia.
khmarbaise
@khmarbaise benar. Pohon ketergantungan plugin tersedia dalam output debugging Maven. Saya juga tidak tahu cara lain untuk mendapatkannya. (Jika Anda mengubah ini menjadi jawaban, saya akan membesarkannya.)
Ryan Stewart
Lihat juga stackoverflow.com/q/312767/32453
rogerdpack

Jawaban:

102

Output melalui mvn -X akan mencetak informasi secara tidak langsung. Saat ini tidak ada opsi lain untuk mendapatkan dependensi Maven-Plugin.

Pembaruan Anda dapat menggunakan perintah berikut untuk mendapatkan daftar dependensi plugin ( tekad-plugin sasaran dari plugin dependensi):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins

Versi yang lebih pendek adalah (dan merupakan kebiasaan buruk untuk menentukan versi plugin)

mvn dependency:resolve-plugins
khmarbaise
sumber
14
resolusikan-plugins tidak hanya menampilkan pohon dependensi ... sepertinya mengunduh ulang semua paket. Tidak ideal
Reinderien
5
Plugin tidak menghormati penggantian dependensi plugin di pom.xml (tag <build><plugins><plugin><dependencies><dependency>)
amra
untuk menggunakan versi plugin terakhir: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.10: resol-plugins
STB Land
Secara default maven memuat dependensi plugin versi 2.something. Secara pribadi saya berhasil mendapatkan hasil yang lebih baik ketika menggunakan versi 3.x.
Dragas
-3

Jika Anda menggunakan IDE seperti IDEA IntelliJ atau Eclipse:

  • Anda dapat menambahkan plugin di bawah ini di pom.xml Anda
  • Setelah selesai, Di jendela Maven (di sebelah kanan IDE), Anda akan menemukan plugin baru yang disebut Dependensi
  • Perluas itu dan Anda akan melihat ketergantungan: sasaran pohon, klik dua kali padanya dan jalankan, Anda akan melihat pohon ketergantungan penuh

Plugin yang akan ditambahkan di POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Dean Jain
sumber