我已经阅读了很多地方maven的清洁和网站生命周期,但无法理解它是如何工作的。 请通过一些示例向我解释Maven的清洁生命周期过程。 它与构建有何不同。 在构建开始之前,清洁已经完成,对吗? 在前后清洁阶段会发生什么。
答案 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。这可能完全无害,但如果通过类路径扫描等自动检测它可能会导致问题。