没有绑定到 Maven 阶段的插件目标

No plugin goals bound to a maven phase

在 maven 中很新。通过阅读 official website 的 maven 文档,我知道在默认的生命周期中,有 21 个阶段,包括 validateinitializegenerate-sourcesprocess-sourcesgenerate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compiletestprepare-packagepackagepre-integration-testintegration-testpost-integration-testverifyinstalldeploy.

但是当我看到Built-in Lifecycle Bindings时,我发现没有插件目标绑定到validateinitializeverify等阶段
因此,如果我 运行 命令 mvn package,是否会执行没有插件目标的阶段?
或者这些阶段的插件目标是固定的,我们无法控制它们,因此没有必要将它们写在文档中。每次 validateinitializeverify 等阶段都会自动执行。

首先是的,默认情况下没有插件绑定到 validateinitializeverify 阶段(以及其他一些阶段)。

如果你 运行 mvn package 将执行所有阶段,但如果没有插件绑定到阶段,你将看不到它。如果你 运行 package 阶段所有阶段包括 package 阶段本身将从 validate, initialize, generate-sources 等开始执行...

有时将插件绑定到 initialize 等阶段很有用。 build-number-maven-plugin 就是这种情况。

verify 之前的阶段,如 pre-integration-testintegration-testpost-integration-test 对 运行 集成测试很有用,可以由 maven-failsafe-plugin. The unit tests are handled by the maven-surefire-plugin 处理.

generate-sources 等阶段经常被 jaxb2-maven-plugin 等源代码生成插件或其他注释处理器生成插件使用...