test sources pom plugin phases org generate best database maven testing maven-3 maven-plugin

database - sources - Ejecutar una sola ejecución de plugin Maven?



plugin en maven (2)

¡Pensé que era un usuario experimentado de Maven, pero estoy teniendo un bloqueo mental sobre cómo hacerlo!

He podido usar el plugin Maven sql para descartar, crear e instalar un esquema en una base de datos a través de las ejecuciones de complemento que he definido y vinculado a la fase de pre-integration-test .

Sin embargo, ahora me gustaría usar el mismo complemento sql para insertar algunos datos de muestra cuando quiera desde la línea de comandos, es decir, sin estar vinculado a ningún objetivo del ciclo de vida. Hay algunos conjuntos diferentes de datos de muestra, por lo que me gustaría definir algunas ejecuciones diferentes.

Pero, ¿hay alguna forma de ejecutar una de estas ejecuciones desde la línea de comandos utilizando quizás la ID de ejecución?


Pero, ¿hay alguna forma de ejecutar una de estas ejecuciones desde la línea de comandos utilizando quizás la ID de ejecución?

No, no es posible Sin embargo, lo que sí es posible es definir la configuración "a" que se utilizará cuando se invoque el complemento desde la línea de comandos utilizando la identificación de ejecución default-cli "especial":

<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>

Y simplemente llame a mvn sql:execute .

Vea a continuación los detalles (de las Notas de la versión de Maven 2.2.0 ):

  • MNG-3401 : a partir de Maven 2.2.0, los objetivos invocados directamente desde la línea de comandos se pueden configurar en el POM por separado de otras invocaciones de complementos utilizando un ID de executionId especial llamado default-cli . Donde antes, todas las configuraciones para los objetivos de línea de comando tenían que ir en la configuración de nivel de complemento, Maven 2.2.0 permite que las configuraciones específicas de línea de comandos se separen en su propia <execution> . Para obtener más información, consulte la Guía de ID de ejecución predeterminada .

Como se señala en Cómo ejecutar la ejecución del complemento maven directamente desde la línea de comandos? , esta funcionalidad se ha implemented como MNG-5768 y está disponible en Maven 3.3.1.

El cambio:

extender la sintaxis de invocación del complemento directo para permitir el parámetro @ execution-id opcional, por ejemplo, org.apache.maven.plugins: maven-remote-resources-plugin: 1.0: process @ executionId.

Entonces, siempre que le des a tu ejecución una identificación:

mvn sql:execute@specific-execution-id

usa la ejecución configurada en tu pom.