Maven Mojo プラグイン、この目標の前にトリガーする必要があるフェーズを定義する方法は?
できません。
pom 定義のビルド セクションに remote-deploy プラグインがあります。デプロイ リモート ゴールの前にパッケージ フェーズをトリガーする必要があります。これは、リモート サーバーにセキュア コピーする前に戦争がすでに作成されているためです。
それをフェーズにバインドするだけで、デフォルトでゴールがバインドさpackage
れた後にゴールが呼び出さpackage
れます(したがって、戦争はそこにあります)。
次のように構成された Maven AntRun プラグインを使用したこの動作を示す例を次に示します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<echo message="Hi!!!!!"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
そしての出力mvn package
:
$ mvn パッケージ
[情報] プロジェクトをスキャンしています...
[情報]
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[INFO] 建物 Q3934833 Maven Webapp 1.0-SNAPSHOT
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
...
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ Q3934833 ---
[情報] コンパイルするソースがありません
[情報]
[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ Q3934833 ---
[情報] 実行するテストはありません。
[情報]
[INFO] --- maven-war-plugin:2.1:war (default-war) @ Q3934833 ---
[情報] webapp のパッケージ化
[INFO] [/home/pascal/Projects/stackoverflow/Q3934833/target/Q3934833] で webapp [Q3934833] をアセンブルしています
[INFO] 処理中の戦争プロジェクト
[情報] webapp リソースのコピー [/home/pascal/Projects/stackoverflow/Q3934833/src/main/webapp]
[情報] [317 ミリ秒] で組み立てられた Web アプリケーション
[情報] ビルド戦争: /home/pascal/Projects/stackoverflow/Q3934833/target/Q3934833.war
[情報] WEB-INF/web.xml は既に追加されています。スキップします
[情報]
[情報] --- maven-antrun-plugin:1.6:run (デフォルト) @ Q3934833 ---
[INFO] タスク実行中
主要:
[エコー] こんにちは!!!!!
[情報] 実行されたタスク
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
[情報] ビルド成功
[情報] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------
...
予想どおり、 antrun プラグインは の後package
に実行されます。