2017-03-07 5 views
0

Unter Maven Version 3.0.4 Ich habe das Problem, die Ausführung eines einzelnen konfigurierten Plugins anzugeben. Angenommen, ich habe zwei verschiedene konfigurierte maven-antrun-plugins. Beide befinden sich im selben Lebenszyklus. Wie kann ich das Plugin, das ich ausführen möchte, gezielt einstellen, ohne unterschiedliche Lebenszyklen zu verwenden? Seit Version 3.3.1 ist es möglich, es in dieser Form zu tun: mvn groupid:artifactid:[email protected] Gibt es eine Möglichkeit, dies in der Version 3.0.4 oder niedriger in ähnlicher Weise zu tun?Maven ausgeführt konfiguriertes Plugin

+0

Sie sprechen davon, ein Plugin-Ziel von der Befehlszeile aus aufzurufen? – khmarbaise

+0

@khmarbaise ja – lob

Antwort

0

Sie können das "default-" in Ihrem Pom verwenden, damit das erste Plugin während des Standardlebenszyklus läuft (seit Maven 2.2.0), und einen Klassifikator für das zweite Plugin verwenden, zum Beispiel mit dem maven jar plugin, Sie können das Beispiel unten sehen:

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
     <executions> 
     <execution> 
     <id>default-jar</id> 
     <configuration> 
      <excludes> 
       <exclude>**/somepackage/*</exclude> 
      </excludes> 
     </configuration> 
    </execution> 
    <execution> 
     <id>special-jar</id> 
      <phase>package</phase> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
     <configuration> 
      <includes> 
      <include>**/sompackage/*</include> 
      </includes> 
      <classifier>somepackage</classifier> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 
+0

Wie würden Sie das zweite Plugin auf der Kommandozeile ausführen? – lob

+0

Sie müssen immer noch ein anderes Ziel in der Befehlszeile als Workaround verwenden, da die Ausführung per ID nur in 3.3.1 implementiert wurde, siehe: https://issues.apache.org/jira/browse/MNG-5768 – Adonis