Esegui una singola esecuzione del plugin Maven?

Pensavo di essere un utente esperto di Maven, ma sto avendo un blocco mentale su come farlo!

Sono stato in grado di utilizzare il plugin Maven sql per eliminare, creare e installare uno schema in un database tramite esecuzioni di plug-in che ho definito e associato alla fase di pre-integration-test .

Tuttavia, ora mi piacerebbe utilizzare lo stesso plugin sql per inserire alcuni dati di esempio ogni volta che voglio dalla riga di comando – cioè, non legato a nessun objective del ciclo di vita. Esistono alcuni set diversi di dati di esempio, quindi mi piacerebbe definire alcune esecuzioni diverse.

Ma c’è un modo per eseguire una di queste esecuzioni dalla riga di comando usando l’ID di esecuzione, forse?

Come indicato in Come eseguire l’esecuzione del plugin Maven direttamente dalla riga di comando? , questa funzionalità è stata implementata come MNG-5768 ed è disponibile in Maven 3.3.1.

Il cambiamento:

estendere la syntax di invocazione del plug-in diretto per consentire il parametro opzionale @ execution-id, ad es. org.apache.maven.plugins: maven-remote-resources-plugin: 1.0: process @ executionId.

Quindi, purché tu dia alla tua esecuzione un id:

 mvn sql:[email protected] 

usa l’esecuzione configurata nel tuo pom.

Ma c’è un modo per eseguire una di queste esecuzioni dalla riga di comando usando l’ID di esecuzione, forse?

No, non è ansible . Tuttavia, è ansible definire la configurazione “a” da utilizzare quando il plugin viene richiamato dalla riga di comando utilizzando l’ID di esecuzione “speciale” default-cli :

  org.codehaus.mojo sql-maven-plugin 1.4 ...   default-cli  ...   ...   

E semplicemente chiama mvn sql:execute .

Vedi sotto per i dettagli (dalle note di rilascio di Maven 2.2.0 ):

  • MNG-3401 – A partire da Maven 2.2.0, gli obiettivi richiamati direttamente dalla riga di comando possono essere configurati nel POM separatamente da altre chiamate di plugin usando un codice di executionId speciale chiamato default-cli . Laddove in precedenza tutte le configurazioni per gli obiettivi della riga di comando dovevano essere nella configurazione a livello di plugin, Maven 2.2.0 consente di configurare le configurazioni specifiche della riga di comando nel proprio . Per ulteriori informazioni, consultare la Guida agli ID di esecuzione predefiniti .