Misalkan, saya melakukan build penuh pada proyek besar saya yang memiliki 7 modul dan pada modul ke-6, build tersebut gagal karena pengujian gagal. Apakah ada cara untuk memulai build dari titik gagal?
91
Anda dapat melanjutkan pembuatan dari modul ke-6 menggunakan -rf
atau --resume-from
:
-rf, --resume-from
Lanjutkan reaktor dari proyek tertentu
Lihat Opsi Reaktor Lanjutan untuk detailnya.
subproject/subsubproject
sebagai parametermaven -rf <module name> clean install
mvn -rf :moduleName install
. (Tidak yakin mengapa titik dua diperlukan tetapi tampaknya - setidaknya untuk pengaturan saya.)install
tujuan di dalamnya, karena build yang dilanjutkan kemudian bisa mendapatkan artefak yang sudah dibuat dari repositori Maven lokal Anda untuk menyelesaikan dependensi padanya. Menurut saya praktik yang buruk untuk menjalankaninstall
build saat Anda akhirnya mengacaukan repositori lokal Anda dengan snapshot dan Anda mungkin akan bergantung pada snapshot yang lebih lama dari yang Anda harapkan. Sepertinya untuk build yang hanya adapackage
dan tidak Andainstall
gunakan,-rf
bukan pilihan: Anda harus melakukan keseluruhan build.Inilah contohnya
mvn clean install -rf :your-module
sumber
Anda dapat melanjutkan pembuatan dari modul apa pun yang Anda inginkan dengan menggunakan
-rf
perintah. Misalnya, jika build Anda gagal di myproject-proxy, Anda dapat menggunakan perintah berikut:mvn -rf myproject-proxy clean install
sumber
lihat ringkasan maven dan Anda akan melihat modul yang dieksekusi dan di mana maven dihentikan. lalu coba ini:
mvn clean install-Dmaven.test.skip=true -rf :yourModule
sumber
Menurut " What's New in Maven 4 " (November 2020) dari Maarten Mulders , Anda akan segera dapat melakukannya, dengan Maven 4.0.0 mendatang (Q1 2021)
Pertimbangkan contoh struktur proyek ini:
sumber
Sintaks: mvn -rf modulename mavengoal atau mvn --resume-from modulename mavengoal
Contoh: mvn -rf admin-module clean install atau mvn --resume-from admin-module clean install
sumber
-rf
bukan kependekan dari--remove-from
. Ini adalah kependekan dari--resume-from
Anda dapat menjalankan build modul 6 secara terpisah untuk melihat apakah build tersebut masih gagal, tetapi saya khawatir Anda harus membangun semua modul dari awal saat Anda ingin menjalankan build "besar".
Edit: Tentu saja, build selanjutnya akan lebih cepat karena kode modul 1-5 sudah dikompilasi, kecuali jika Anda menjalankan clean sebagai bagian dari build Anda.
sumber