Führen Sie einen einzigen Maven Plugin Ausführung?
-
04-10-2019 - |
Frage
Ich dachte, ich war ein erfahrener Maven Benutzer, aber ich habe einen mentalen Block auf, wie dies zu tun!
Ich habe in der Lage, die Maven SQL-Plugin fallen zu verwenden, erstellen und ein Schema in einer Datenbank installieren Exekutionen per Plugin I definiert haben und auf die pre-integration-test
Phase gebunden ist.
Aber jetzt würde Ich mag die gleiche SQL-Plugin verwenden, um einige Beispieldaten einfügen, wenn ich von der Kommandozeile will - das heißt, nicht an Lifecycle Ziel gebunden. Es gibt ein paar verschiedene Arten von Probendaten, so dass ich ein paar verschiedene Ausführungen definieren möchte.
Aber ist es eine Möglichkeit, eine dieser Ausführungen von der Kommandozeile ausgeführt werden möglicherweise unter Verwendung der Ausführungs-ID?
Lösung
Wie bereits erwähnt in Wie Maven Plugin Ausführung auszuführen direkt von der Kommandozeile? , diese Funktionalität hat implementiert als MNG-5768 und ist in Maven 3.3 zur Verfügung. 1.
Die Änderung wird:
erstrecken direkte Plugin Aufrufsyntax optional @ execution-ID-Parameter, beispielsweise org.apache.maven.plugins ermöglichen: maven-Remote-Ressourcen-Plugin: 1,0:. Prozess @ ExecutionID
Also, solange Sie geben Ihre Ausführung eine ID:
mvn sql:execute@specific-execution-id
verwendet die Ausführung in Ihrem pom konfiguriert.
Andere Tipps
Aber ist es eine Möglichkeit, eine dieser Ausführungen von der Kommandozeile ausgeführt werden möglicherweise unter Verwendung der Ausführungs-ID?
Nein, nicht möglich . Was möglich ist, wenn ist zu definieren, „a“ Konfiguration verwendet werden, wenn das Plugin von der Kommandozeile mit der „speziellen“ default-cli
Ausführungs-ID aufgerufen wird:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.4</version>
...
<executions>
<execution>
<id>default-cli</id>
<configuration>
...
</configuration>
</execution>
...
</executions>
</plugin>
Und einfach Anruf mvn sql:execute
.
Siehe unten für Einzelheiten (von dem Maven 2.2.0 Release Notes ):
- MNG-3401 - Ab Maven 2.2.0, Ziele aufgerufen direkt von der Befehlszeile kann in die so konfiguriert werden, POM getrennt von anderen Plugin Anrufungen eine besondere Verwendung
executionId
genanntdefault-cli
. Wo zuvor alle Konfigurationen für Befehlszeilen hatten Ziele in zu gehen, die Plugin-Level-Konfiguration, Maven 2.2.0 ermöglicht Befehlszeilenspezifische Konfigurationen in getrennt werden ihre eigenen<execution>
. Für mehr Informationen finden Sie im Guide to Standard Execution IDs .