以下のpom.xmlのプラグイン設定を参照してください。
できます:
mvn myplugin:myGoal
これはmyGoal(両方の実行を想定)を実行しますが、最初または2番目の実行を独立して選択できるようにしたいです。
実行要素にidを追加できることは知っていますが、コマンドラインでそのidを参照するにはどうすればよいですか。この想像されたコマンドが行うことを行う何かに到達したいと思います:
mvn myplugin:myGoal --executionId=1
これは可能ですか、それとも間違った方法ですか?
<plugin>
<groupId>org.myplugin</groupId>
<artifactId>myplugin-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>cats</myParam>
</configuration>
</execution>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>dogs</myParam>
</configuration>
</execution>
</executions>
</plugin>
_
mvn myplugin:myGoalWhich
_を実行できますmyGoalを実行します(両方の実行を想定)
それらのどれも(それらが一意のid
を持っていると仮定して)。実行はフェーズにバインドされているため、指定されたフェーズを実行してトリガーする必要があります。
実行要素にidを追加できることは知っていますが、コマンドラインでそのidを参照するにはどうすればよいですか。
サポートされていません。 CLIで呼び出されるプラグインで可能なことは、次のように特別な_default-cli
_ executionId
を使用して、POMでnon global構成を定義することです。
_<plugin>
<artifactId>maven-Assembly-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
<descriptorRef>project</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
_
これは可能ですか、それとも間違った方法ですか?
いいえ、できません。コマンドラインでパラメーターを渡すか、プロファイルを使用します(上記のデフォルトの実行の有無にかかわらず)。
CLIからの複数の目標の実行がMaven 3.3.1+でサポートされるようになりました
mvn exec:Java@first-cli
mvn exec:Java@second-cli
ここで、first-cli/second-cliは実行IDです。
http://blog.soebes.de/blog/2015/03/17/Apache-maven-3-dot-3-1-features/
ねえ、あなたはこのようにあなたの目標を作成することができます:-
org.myplugin:myplugin-maven-plugin:1.1.1:myGoal i.e
<groupId>:<artifactId>:<version>:<yourgoal>
私の場合はうまくいきます...
あなたが電話すると
mvn myplugin:myGoal
しかし、問題は、実行に一意のIDがないためにエラーメッセージが表示されることです(この場合は両方とも同じです)。
Mvn -PXYZおよびmvn -PABCを介してアクティブにできるプロファイルを介して、やりたいことに到達できます。