3

我已经在很多地方阅读了有关 maven 的清洁和站点生命周期的信息,但无法理解它是如何工作的。请通过一些示例向我解释 Maven 的清洁生命周期流程。它与构建有何不同。在构建开始之前,清理完成了,对吧?清洁前后阶段会发生什么。

4

3 回答 3

10

清洁生命周期包含以下生命周期阶段

  • 预清洁
  • 干净的
  • 清洁后

如果调用mvn clean会贯穿以下生命周期阶段:

pre-clean, clean

如果您将调用mvn post-clean以下生命周期阶段,则将贯穿:

pre-clean, clean, post-clean

默认情况下,在 clean lifeclyce 中,只有 maven-clean-plugin 绑定到通常会删除目标文件夹的 clean 阶段。通常没有任何约束post-clean

站点等其他生命周期包含以下阶段:

pre-site, site, post-site, site-deploy

而你通常打电话mvn site或有时mvn site-deploy

所谓的default生命周期包含更多阶段(仅摘录):

验证,...,编译,测试,..,打包,...,安装,部署

每个阶段都绑定了不同的插件,这些插件可以完成他们的工作以获得您想要的结果。

于 2014-10-10T21:23:48.310 回答
5

在 pre-clean 或 post-clean 中默认不会发生任何事情,但如果您愿意,您可以自己使用它们。例如,如果您想为历史目的保留过去的构建,那么您可以在预清理阶段运行备份。或者您可以使用 post-clean 进行一些额外的清理,例如重置本地数据库或 LDAP 目录。

于 2015-05-24T23:18:02.283 回答
1

在基于 Maven 的项目中,许多缓存输出存在于您的“目标”文件夹中。当您要构建项目以进行部署时,您必须确保清除所有缓存的输出,以便始终获得最新的部署。

例如:如果您重命名一个类,之前编译的版本将保留在 target/classes 中,直到您运行 clean。这可能完全无害,但如果它被类路径扫描等自动检测到,它可能会导致问题。

于 2014-10-10T04:47:40.537 回答