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?

Était-ce utile?

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 .
  •   
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top