117

私は経験豊富な Maven ユーザーだと思っていましたが、これを行う方法について精神的なブロックを抱えています!

pre-integration-testMaven sql プラグインを使用して、定義してフェーズにバインドしたプラグイン実行を介してデータベースにスキーマをドロップ、作成、およびインストールすることができました。

ただし、今は同じ sql プラグインを使用して、コマンド ラインから必要なときにいつでもサンプル データを挿入したいと考えています。つまり、ライフサイクルの目標に縛られていません。サンプル データにはいくつかの異なるセットがあるため、いくつかの異なる実行を定義したいと思います。

しかし、おそらく実行 ID を使用して、コマンド ラインからこれらの実行の 1 つを実行する方法はありますか?

4

2 に答える 2

159

コマンドラインからmavenプラグインを直接実行する方法に記載されているように? 、この機能はMNG-5768として実装されており、Maven 3.3.1 で利用できます。

変更は次のとおりです。

プラグインの直接呼び出し構文を拡張して、オプションの @execution-id パラメーターを許可します (例: org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process@executionId)。

したがって、実行に id を指定する限り、次のようになります。

mvn sql:execute@specific-execution-id

pom で構成された実行を使用します。

于 2015-02-28T05:24:11.850 に答える
49

しかし、おそらく実行IDを使用して、コマンドラインからこれらの実行の1つを実行する方法はありますか?

いいえ、できません。ただし、可能なことは、プラグインが「特別な」実行IDを使用してコマンドラインから呼び出されるときに使用される「a」構成を定義することです。default-cli

<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以降、コマンドラインから直接呼び出される目標は、特別に executionId呼び出されるを使用して、他のプラグイン呼び出しとは別にPOMで構成できますdefault-cli。以前は、コマンドライン目標のすべての構成をプラグインレベルの構成にする必要がありましたが、Maven 2.2.0では、コマンドライン固有の構成を独自の構成に分離できます<execution>。詳細については、デフォルトの実行IDのガイドを参照してください。
于 2010-09-23T16:42:02.757 に答える