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?

War es hilfreich?

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 genannt default-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 .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top