在开发过程中,简略地记住了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:将生成的站点文档部署到特定的服务器上
参考资料

  1. https://www.runoob.com/maven/...
  2. https://maven.apache.org/plug...