Saya menggunakan POM induk yang mendefinisikan plugin yang saya tidak ingin dijalankan di POM anak. Bagaimana saya bisa menonaktifkan plugin di child pom sepenuhnya?
Kendala: Saya tidak dapat mengubah POM induk itu sendiri.
Berikut ini berfungsi untuk saya ketika menonaktifkan Findbugs di POM anak:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<executions>
<execution>
<id>ID_AS_IN_PARENT</id> <!-- id is necessary sometimes -->
<phase>none</phase>
</execution>
</executions>
</plugin>
Catatan: definisi penuh dari plugin Findbugs ada di induk / POM super kami, jadi itu akan mewarisi versi dan seterusnya.
Di Maven 3, Anda harus menggunakan:
<configuration>
<skip>true</skip>
</configuration>
untuk plugin.
<id>…</id>
bagian dari POM induk, maka itu berhasil bagi saya.<skip>
parameter.Lihat apakah plugin memiliki parameter konfigurasi 'lewati'. Hampir semuanya melakukannya. jika ya, tambahkan saja ke deklarasi pada anak:
Jika tidak, gunakan:
sumber
Utasnya sudah tua, tapi mungkin seseorang masih tertarik. Bentuk terpendek yang saya temukan adalah perbaikan lebih lanjut pada contoh dari λlex dan bmargulies. Tag eksekusi akan terlihat seperti:
2 poin yang ingin saya soroti:
Setelah memposting ternyata sudah dalam stackoverflow: Dalam proyek multi-modul Maven, bagaimana saya bisa menonaktifkan plugin dalam satu anak?
sumber
Saya tahu utas ini benar-benar tua tetapi solusi dari @Ivan Bondarenko membantu saya dalam situasi saya.
Saya memiliki yang berikut di blog saya
pom.xml
.Apa yang saya inginkan, adalah menonaktifkan eksekusi
generate-citrus-war
untuk profil tertentu dan ini solusinya:sumber