Maven 生命周期和插件

Maven lifecycle and plugins

在阅读有关 maven 生命周期和插件的内容时,我对 maven 有以下简短的疑问,因此在一个线程中发帖:

1) 我们可以在 maven 中拥有我们的自定义生命周期吗?

2) 我们可以将自定义阶段添加到 maven 中预先存在的生命周期吗?

3) 一个阶段可以同时与 2 个或更多目标相关联吗?如果是,maven 将如何决定目标的执行顺序?

4) 一个目标可以关联到 2 个或更多阶段吗?

我期待对每一个的简短回答,而不是任何深入的解释,但是,如果有人也能提供,那就太棒了。我只是不想让我的问题被标记为过于宽泛。

1) 不确定。使用扩展可能是可能的。但是那个生命周期有什么目的。

2) 不相信。同样,如果可能的话,通过 externsions。

3) 阶段不与任何目标关联。

或者更确切地说,执行与一个阶段相关联,如果它们是生命周期的一部分。如果执行中没有给出阶段,则使用目标的默认阶段(可能没有阶段!)。

据我所知,同一阶段内的执行顺序由 pom 内的执行顺序决定。

4) 目标也并不真正与阶段相关联。它只有一个默认阶段。参见 3.

您可以定义自定义生命周期,但它很少有用。我从来没有做过。如果可能我会避免它。

您可以向一个阶段添加任意数量的目标。 AFAIK,它们按照给定的顺序执行。您还可以将目标添加到不同的阶段。