Mavenプラグイン – 同じフェーズでの実行順序
Mavenでは、http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html[ビルドライフサイクル]を使用して、プラグインの実行順序を制御できます。いくつかのシナリオでは、同じフェーズに数個のプラグインをバインドする必要がありますが、依然としてプラグインの実行順序を制御する必要があります。
しかし、注文はPOMにリストされているのと同じ順序で実行されるわけではありません。http://jira.codehaus.org/browse/MNG-2258[MNG-2258]とhttp://jira.codehausを参照してください。 org/browse/MNG-3719[MNG-3719]。
解決策
このバグはMaven 3.0.3で修正されました。
同じフェーズにバインドされたMavenプラグインは `pom.xml`にリストされているのと同じ順序で実行されます
たとえば、3つのプラグインがフェーズ ”
prepare-package
“にバインドされています。
<build> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version> <executions> <execution> <id>auto-clean</id> <phase>prepare-package</phase> //... </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>copy-resources</id> <phase>prepare-package</phase> //... </plugin> <plugin> <groupId>org.primefaces.extensions</groupId> <artifactId>resources-optimizer-maven-plugin</artifactId> <version>0.5</version> <executions> <execution> <id>optimize</id> <phase>prepare-package</phase> //... </plugin> </plugins> </build>
mvn prepare-package`を実行すると、
pom.xml`にリストされている順番どおりに次の順序で実行されます
-
maven-clean-plugin
-
maven-resources-plugin
-
resources-optimizer-maven-plugin
参考文献
-
http://jira.codehaus.org/browse/MNG-3719
[plugin実行発注番号
2.0.9で注文された長いPOM]。
http://stackoverflow.com/questions/2450266/how-to-perform-ordered-tasks-in-maven2-build
[How
Mavenビルドで順序付けられたタスクを実行する]。
http://jira.codehaus.org/browse/MNG-2258
[の実行順序が間違っています
同じ段階のプラグイン]