我有一个关于maven pom的问题。我有这个pom.xml
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>Hello world!</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
执行目标运行时?包装阶段之前或之后?
(对于Maven生命周期,请参阅Maven lifecycle)
答案 0 :(得分:6)
插件目标是在<= strong>声明阶段(package
)开始之后,以及下一阶段(pre-integration-test
)开始之前执行。
在这个scenerio maven命令中
mvn package
应打印Hello World
一个阶段的多次执行:
注意:在Maven 2.0.5及更高版本中,绑定到阶段的多个目标是 但是,按照与在POM中声明的顺序相同的顺序执行 不支持同一插件的多个实例。多 同一插件的实例被分组以一起执行 在Maven 2.0.11及以上版本中订购。
和
当给出与特定阶段匹配的多个执行时,它们 以POM中指定的顺序执行,并继承 执行首先执行。
答案 1 :(得分:0)
如果您已经给出它将在包阶段执行,导致您明确定义它在包阶段执行。如果您希望在程序包阶段之前执行它,则需要使用prepare-package
阶段而不是package
。