1つのMavenプラグインの実行を実行しますか?
-
04-10-2019 - |
質問
私は経験豊富なMavenユーザーだと思っていましたが、これを行う方法について精神的なブロックを持っています!
Maven SQLプラグインを使用して、定義およびバインドしたプラグイン実行を介してデータベースにスキーマをドロップ、作成、インストールすることができました。 pre-integration-test
段階。
ただし、コマンドラインから必要なときにいつでも、同じSQLプラグインを使用してサンプルデータを挿入したいと思います。つまり、ライフサイクルの目標に縛られていません。サンプルデータにはいくつかの異なるセットがあるので、いくつかの異なる実行を定義したいと思います。
しかし、おそらく実行IDを使用して、これらの実行の1つをコマンドラインから実行する方法はありますか?
解決
に記載されているように コマンドラインからMavenプラグインの実行を直接実行する方法は?, 、この機能はそうです 実装 なので MNG-5768, 、およびMaven 3.3.1で入手できます。
変更は次のとおりです。
Direct Plugin Invocation Syntaxを拡張して、optional @Execution-IDパラメーター、Eg、org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process @executionidを許可します。
だから、あなたがあなたの実行にIDを与える限り:
mvn sql:execute@specific-execution-id
POMで構成された実行を使用します。
他のヒント
しかし、おそらく実行IDを使用して、これらの実行の1つをコマンドラインから実行する方法はありますか?
いいえ、 ありえない. 。しかし、可能なのは定義することです "A" 「スペシャル」を使用してプラグインがコマンドラインから呼び出されたときに使用する構成 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>
そして、単に電話してください mvn sql:execute
.
詳細については、以下を参照してください(から Maven 2.2.0リリースノート):
- MNG-3401 -Maven 2.2.0から始めて、コマンドラインから直接呼び出される目標は、スペシャルを使用して他のプラグインの呼び出しとは別にPOMで構成できます
executionId
呼び出されましたdefault-cli
。以前は、コマンドライン目標のすべての構成がプラグインレベルの構成で進む必要がありました。<execution>
. 。詳細については、を参照してください デフォルトの実行IDのガイド.