Bir alt POM çalıştırmak istemiyorum bir eklenti tanımlayan bir üst POM kullanıyorum. Çocuk pom'daki eklentiyi nasıl tamamen devre dışı bırakabilirim?
Kısıtlama: Üst POM'un kendisini değiştiremiyorum.
Bir alt POM çalıştırmak istemiyorum bir eklenti tanımlayan bir üst POM kullanıyorum. Çocuk pom'daki eklentiyi nasıl tamamen devre dışı bırakabilirim?
Kısıtlama: Üst POM'un kendisini değiştiremiyorum.
Yanıtlar:
Bir çocuk POM'sinde Findbugs devre dışı bırakıldığında aşağıdakiler benim için çalışır:
<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>
Not: Findbugs eklentisinin tam tanımı ebeveyn / süper POM'umuzdadır, bu nedenle sürümü devralır ve bu şekilde devam eder.
Maven 3'te şunları kullanmanız gerekir:
<configuration>
<skip>true</skip>
</configuration>
eklenti için.
<id>…</id>
Ebeveyn POM'sinin bir kısmını eklemek zorunda kaldım , o zaman benim için çalıştı.
<skip>
parametresi yoktur.
Eklentinin 'atla' yapılandırma parametresine sahip olup olmadığına bakın. Neredeyse hepsi yapar. eğer öyleyse, bunu çocuktaki bir bildirime ekleyin:
<plugin>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Değilse, şunu kullanın:
<plugin>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<executions>
<execution>
<id>TheNameOfTheRelevantExecution</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
Konu eski, ama belki biri hala ilgileniyor. Bulduğum en kısa form, λlex ve bmargulies örneğinde daha fazla gelişme. Yürütme etiketi şöyle görünecektir:
<execution>
<id>TheNameOfTheRelevantExecution</id>
<phase/>
</execution>
Vurgulamak istediğim 2 puan:
Gönderdikten sonra yığın akışı içinde bulunduğunu gördükten sonra: Maven çok modüllü bir projede, bir çocukta eklentiyi nasıl devre dışı bırakabilirim?
Bu konu gerçekten eski olduğunu biliyorum ama @Ivan Bondarenko gelen çözüm benim durumumda bana yardımcı oldu.
İçimde şunlar vardı pom.xml
.
<build>
...
<plugins>
<plugin>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-remote-maven-plugin</artifactId>
<version>${citrus.version}</version>
<executions>
<execution>
<id>generate-citrus-war</id>
<goals>
<goal>test-war</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Ne istedim, generate-citrus-war
belirli bir profil için yürütülmesini devre dışı bırakmak oldu ve bu çözüm oldu:
<profile>
<id>it</id>
<build>
<plugins>
<plugin>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-remote-maven-plugin</artifactId>
<version>${citrus.version}</version>
<executions>
<!-- disable generating the war for this profile -->
<execution>
<id>generate-citrus-war</id>
<phase/>
</execution>
<!-- do something else -->
<execution>
...
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>