Eseguire una singola esecuzione plugin di Maven?
-
04-10-2019 - |
Domanda
ho pensato che ero un utente esperto Maven, ma sto avendo un blocco mentale su come fare questo!
Sono stato in grado di utilizzare il Maven SQL plugin per eliminare, creare e installare uno schema in un database tramite plug-in esecuzioni che ho definito e legato alla fase pre-integration-test
.
Tuttavia, ora vorrei utilizzare lo stesso plug-SQL per inserire alcuni dati di esempio ogni volta che voglio dalla riga di comando - che è, non è vincolata ad alcun obiettivo del ciclo di vita. Ci sono alcuni insiemi differenti di dati di esempio, quindi mi piacerebbe definire alcune esecuzioni differenti.
Ma c'è un modo per eseguire una di queste esecuzioni dalla riga di comando utilizzando l'ID di esecuzione, forse?
Soluzione
Come osservato in Come eseguire Maven plug-in esecuzione direttamente dalla linea di comando? , questo funzionalità è stata implementato come MNG-5768 , ed è disponibile in Maven 3.3. 1.
Il cambiamento sarà:
estendere sintassi diretto plug invocazione consentire @ opzionale parametri di esecuzione-id, ad esempio, org.apache.maven.plugins: Maven-remote-risorse-plugin: 1.0:. Processo @ ExecutionID
Quindi, fino a quando si dà l'esecuzione di un ID:
mvn sql:execute@specific-execution-id
utilizza l'esecuzione configurato nel pom.
Altri suggerimenti
Ma c'è un modo per eseguire una di queste esecuzioni dalla riga di comando utilizzando l'ID di esecuzione, forse?
No, non è possibile . Ciò che è possibile, anche se è definire "a" configurazione da utilizzare quando il plugin viene richiamato dalla riga comandi utilizzando il "speciale" esecuzione default-cli
id:
<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>
E mvn sql:execute
semplicemente chiamata.
Vedi sotto per i dettagli (dai href="http://maven.apache.org/docs/2.2.0/release-notes.html" rel="noreferrer"> Maven 2.2.0 Note di rilascio ):
- MNG-3401 - A partire dal Maven 2.2.0, obiettivi invocati direttamente dal riga di comando può essere configurato nel POM separatamente dagli altri plug-in invocazioni che utilizzano uno speciale
executionId
chiamatodefault-cli
. Dove in precedenza, tutte le configurazioni per riga di comando obiettivi dovevano andare in la configurazione a livello di plug-in, Maven 2.2.0 permette configurazioni di comando-linea-specifici da separati in proprio<execution>
. Per più informazioni, consultare la Guide to default ID Esecuzione .