Saya baru saja mempelajari Maven, dan ini mungkin sudah jelas, tetapi saya tidak dapat menemukan cara mudah untuk membuat daftar tujuan yang terkait untuk setiap fase siklus hidup maven untuk proyek tertentu.
Saya melihat bahwa fase siklus hidup default Maven dan tujuan default terkait didokumentasikan di sini . Pemahaman saya sejauh ini adalah bahwa setiap pom.xml dapat mengikat tujuan tambahan ke setiap fase siklus hidup.
Jadi, apakah ada perintah mvn untuk menentukan tujuan yang akan dijalankan untuk setiap fase siklus hidup untuk proyek tertentu? Jika tidak, saya kira saya hanya perlu melihat pom.xml untuk setiap proyek maven baru untuk mencari tahu?
Ini
buildplan-maven-plugin
adalah alat yang sangat baik untuk menunjukkan bagaimana tujuan terikat pada fase.Di bawah ini adalah contoh perintah yang dapat Anda jalankan. Perintah akan secara otomatis mengunduh dan menginstal plugin jika belum diinstal.
Buat daftar tujuan berdasarkan urutan yang akan mereka jalankan
Gol grup berdasarkan fase
Gol kelompok berdasarkan plugin
Catatan
Secara default, tujuan mencari tugas yang akan dijalankan jika pengguna dipanggil
mvn deploy
. Tahapan seperticlean
tidak akan disertakan. Untuk memasukkan beberapa fase dalam pencarian, gunakanbuildplan.tasks
properti:sumber
mvn fr.jcgay.maven.plugins:buildplan-maven-plugin:list -Dbuildplan.tasks=clean,install,deploy
Salah satu alat yang membantu adalah
mvn help:effective-pom
Ini akan mencetak POM dengan semua variabel dan semua POM induk diperluas. Ini membantu untuk memahami apa yang dilihat Maven. Dari situ, cukup mudah untuk menemukan semua tujuan tambahan (yang biasanya tidak terlalu banyak).Masalah yang lebih besar adalah tujuan implisit (yaitu ketika sebuah plugin menghubungkan dirinya sendiri ke beberapa fase siklus hidup secara otomatis). Tidak ada cara mudah untuk melihat ini tanpa benar-benar menjalankan Maven. Ini seharusnya menjadi lebih baik di Maven 3. Sampai saat itu, jalankan Maven
-X
yang akan mencetak banyak keluaran debug ditambah fase saat ini dan plugin mana yang dijalankan.sumber
Jika tidak dengan Maven tetapi menggunakan m2e Anda dapat melakukannya menggunakan blok kode yang dapat Anda gunakan di plugin Eclipse:
Lihat sumber lengkapnya .
Sudah diterapkan di:
http://marketplace.eclipse.org/content/phases-and-goals
Itu memanfaatkan kemampuan m2e untuk menghitung asosiasi tujuan dengan fase. Saya juga mencoba menyelesaikannya di level maven.
sumber
Saya memasukkan jawaban Chad ke dalam skrip (jadi saya tidak perlu mengingat nama plugin yang sangat panjang). Letakkan di ~ / bin / folder Anda sehingga Anda dapat menggunakannya di mana saja.
sumber