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`にリストされている順番どおりに次の順序で実行されます

  1. maven-clean-plugin

  2. maven-resources-plugin

  3. resources-optimizer-maven-plugin

参考文献

Mavenビルドで順序付けられたタスクを実行する]。

http://jira.codehaus.org/browse/MNG-2258

[の実行順序が間違っています

同じ段階のプラグイン]