2011-01-11 9 views
15

Die POM, die mein Projekt erbt enthält einige <pluginManagement> für die release Plugin, das einige zusätzliche arguments angibt.Override Maven Plugin-Konfiguration in der Pom-Plugin-Verwaltung von der Befehlszeile definiert

Meine Frage ist: Gibt es eine Möglichkeit, den arguments Parameter von der Befehlszeile in diesem Fall zu überschreiben?

Die Mutter POM hat dies:

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>-Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 

Aufgrund dass das Befehlszeilenargument nicht funktioniert:

mvn release:prepare -Darguments="-Pmock -Prelease" 

Der -Darguments="-Pmock -Prelease" Teil hat keine Wirkung. Wenn arguments nicht bereits angegeben ist, funktioniert es.

Es ist mir nicht möglich, das Eltern-POM zu ändern oder es nicht zu verwenden.

Antwort

10

Die Lösung gefunden. In mein POM Ich füge das, was überschreibt die Einstellungen in der Parent POM und ermöglicht es, zusätzliche Argumente auf der Kommandozeile, z. -Darguments=-Pmock

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>${arguments} -Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 
6

Sie können keine Konfiguration außer Kraft setzen, die bereits im POM (siehe Maven Bug MNG-4979) gesetzt. Sie können Variablen verwenden, um dieses Verhalten zu vermeiden. Der Ausschnitt Ihrer Antwort macht davon Gebrauch.

+0

Aktualisierter Link für MNG-4979: https://issues.apache.org/jira/browse/MNG-4979 – erwaman

+0

Danke. Ich habe den Link im Kommentar aktualisiert. –

Verwandte Themen