Maven清洁生命周期

时间:2014-10-10 04:42:42

标签: eclipse maven maven-clean-plugin

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

3 个答案:

答案 0 :(得分:7)

清洁生命周期包含以下life cycle phases

  • 预清洁
  • 清洁
  • 后清洁

如果致电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生命周期包含更多阶段(只有一个exerpt):

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

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

答案 1 :(得分:5)

默认情况下,在预清洁或后清洁中没有任何操作,但如果您愿意,可以自己使用它们。例如,如果您希望保留过去的构建以用于历史目的,那么您可以在预清理阶段运行备份。或者您可以使用post-clean进行一些额外的清理,例如重置本地数据库或LDAP目录。

答案 2 :(得分:1)

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

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