在Maven中,您可以使用构建生命周期或阶段来控制插件执行的顺序。 在某些情况下,您必须将几个插件绑定到同一个阶段,但是仍然想控制插件执行的顺序。
但是,该命令的执行顺序与POM中列出的顺序不同,请参见此MNG-2258和MNG-3719 。
解
此错误已在Maven 3.0.3中修复, 绑定到同一阶段的Maven插件将按照pom.xml
中列出的顺序执行
例如,在“ prepare-package ”阶段绑定了3个插件。
<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清洁插件
- Maven资源插件
- 资源优化器Maven插件
参考文献
翻译自: https://mkyong.com/maven/maven-plugin-execution-order-in-same-phase/