Exécuter une seule exécution de plugin Maven?
-
04-10-2019 - |
Question
Je pensais que j'étais un utilisateur expérimenté Maven, mais je vais avoir un blocage mental sur la façon de le faire!
J'ai été en mesure d'utiliser le plug-in sql Maven pour déposer, créer et installer un schéma dans une base de données par l'intermédiaire du plugin d'exécutions que j'ai défini et lié à la phase de pre-integration-test
.
Cependant, maintenant je voudrais utiliser ce même plugin SQL pour insérer quelques exemples de données chaque fois que je veux de la ligne de commande - qui est, lié à aucun objectif du cycle de vie. Il y a quelques différents ensembles de données d'échantillons, donc je voudrais définir quelques exécutions différentes.
Mais est-il un moyen d'exécuter l'un de ces exécutions de la ligne de commande en utilisant l'ID d'exécution peut-être?
La solution
Comme indiqué dans Comment exécuter l'exécution plugin Maven directement à partir de la ligne de commande? , ce fonctionnalité a été mis en œuvre comme MNG-5768 , et est disponible dans Maven 3.3. 1.
Le changement:
étendre la syntaxe d'invocation de plugin directe pour permettre facultatif @ paramètres d'exécution-id, par exemple, org.apache.maven.plugins:-maven-ressources à distance plugin: 1,0. Procédé @ executionID
Alors, tant que vous donnez à votre exécution d'un identifiant:
mvn sql:execute@specific-execution-id
utilise l'exécution configurée dans votre pom.
Autres conseils
Mais est-il un moyen d'exécuter l'un de ces exécutions de la ligne de commande en utilisant l'ID d'exécution peut-être?
Non, pas possible . Ce qui est possible est de définir « a » configuration à utiliser lorsque le plug-in est appelé à partir de la ligne de commande en utilisant l'exécution de default-cli
« spéciale » 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>
Et mvn sql:execute
simplement appel.
Voir ci-dessous pour les détails (des Maven 2.2.0 Release Notes ):
- MNG-3401 - A partir de Maven 2.2.0, objectifs invoqués directement à partir de la ligne de commande peut être configurée dans le POM séparément des autres plug-in invocations en utilisant un spécial
executionId
appelédefault-cli
. Là où auparavant, toutes les configurations pour objectifs de ligne de commande devaient aller la configuration au niveau du plugin, Maven 2.2.0 permet des configurations spécifiques à la ligne de commande pour être séparés en leur propre<execution>
. Pour plus informations, consultez le Guide de défaut ID d'exécution .