5

コマンドを呼び出すときにコマンドラインにフラグがある場合にのみ、Mavenに特定のプラグインを実行させたいmvn

例えば:

と呼ばれるプラグインがあるとしましょうmaven-foo-plugin--foomavenコマンドを呼び出したときにフラグが存在する場合にのみ、mavenにこのプラグインを実行させたい。

だから、言う代わりに...

mvn install

...私は言うだろう...

mvn install --foo

最初のものはプラグインを使用/呼び出すべきではありませんmaven-foo-pluginが、2番目のものは使用する必要があります。デフォルトでは、このプラグインを実行したくありませんが、存在する場合に限り--fooます。maven-foo-pluginこれを行うためにこれに追加する別のパラメーターはありますか?

私が使用しmaven-antrun-pluginているプラ​​グインは、ファイルを解凍するタスクを持っているプラ​​グインです。もちろん、このファイルが存在する場合と存在しない場合があります。時々、それは存在せず、私はそれを必要としません。したがって、このプラグインをオン/オフにする方法が必要です(誰かがより良いアイデアを持っていない限り、コマンドラインを使用することが望ましい)。

4

2 に答える 2

7

Mavenで条件付きアクションをトリガーする正しい方法は、プロファイルを使用することです。プラグインのアクティブ化を含む特定のプロファイルを構成できます。次に、を使用して実行をトリガーします。

mvn targetPhase -P myprofile

(特定のプロパティ値を指定してプロファイルをアクティブ化することもできます)

Maven:プロファイルに基づくプラグインの使用を参照してください

于 2013-03-20T13:14:42.733 に答える
7

@Gab が述べたように、Maven プロファイルを使用することが最善の方法です。プロファイルを作成し、プロファイルでプラグインを構成します。次に、プロファイルのactivationセクションで、値の有無にかかわらず、環境変数を参照します。

<profiles>
  <profile>
    <activation>
      <property>
        <name>debug</name>
      </property>
    </activation>
    ...
  </profile>
</profiles>

上記の例では、debugMaven を呼び出すときに変数を定義すると、プロファイルがアクティブになります。

mvn install -Ddebug

-DMaven を実行している JVM に環境変数を渡すには、環境変数の前に を付ける必要があることに注意してください。

詳細については、http: //maven.apache.org/guides/introduction/introduction-to-profiles.htmlを参照してください。

于 2013-03-20T13:57:32.480 に答える