在开发过程中,简单地记住了maven生命周期后一个阶段会自动执行之前的所有阶段,误以为maven package 会自动执行maven install.
结果在发现IDEA中点击maven package发现打的旧包仍然存在排查错误后发现是有个定语是在该生命周期中,从而重新学习maven生命周期作为记录。
maven由3个阶段生命周期组成:
clean:项目清理的处理
build:项目部署的处理
site:项目站点文档创建的处理
在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,
在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行所以,但是maven package的时候所在的生命周期是build,不会去自动执行clean的生命周期,所以旧的war包或者jar包会存在。
最后再来简单整理一下 maven 的3个生命周期。
about clean:
Clean 生命周期
当我们执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段:
pre-clean:执行一些需要在clean之前完成的工作
clean:移除所有上一次构建生成的文件
post-clean:执行一些需要在clean之后立刻完成的工作。
Default 生命周期
阶段 处理 描述
验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的
编译 compile 执行编译 源代码编译在此阶段完成
测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。
包装 package 打包 创建JAR/WAR包如在 pom.xml 中定义提及的包
检查 verify 检查 对集成测试的结果进行检查,以保证质量达标
安装 install 安装 安装打包的项目到本地仓库,以供其他项目使用
部署 deploy 部署 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程
Site 生命周期
Maven Site 插件一般用来创建新的报告文档、部署站点等。
pre-site:执行一些需要在生成站点文档之前完成的工作
site:生成项目的站点文档
post-site: 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy:将生成的站点文档部署到特定的服务器上
参考资料
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。