Maven的生命周期以及执行Maven项目的命令

本文概述了Maven默认生命周期的各个阶段,重点讲解了清理(Clean)、构建(Default)和项目站点(Site)的流程,并强调了install环节对bug排查的重要性。同时介绍了常用命令和依赖管理技巧,帮助开发者提升工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前遇到Maven的bug时,由于对Maven生命周期的不熟悉,所以导致迟迟没有解决bug

现在整理一下我对Maven周期的一些总结等,

maven的default生命周期所有流程:

validate
initailize

generate-sources

process-sources

generate-resource

process-resource

compile 
process-classes

generate-test-sources

process-test-sources

generate-test-resources

test-compile

process-test-classed

test
prepare-package

package
pre-integreation-test、post-integreation-test 集成测试环节

verify
install
deploy
Maven主要的生命周期分为三部分:clean,default, site
一、Clean (清理周期)

pre-clean / clean /post-clean 有三个阶段。

二、default (构建周期)

也是重点研究的阶段。

process-sources

compile 编译主代码至输出目录

process-class 将代码中的java文件编译成为class文件

process-test 处理maven中的test代码

test-compile 编译test代码到输出目录

test 测试。。。但不会被打包或者部署!

package 打包

install 将打好的包安装到本地仓储,供其他maven项目使用,!!重点:也就是说这个时候你的maven仓库里面的项目jar已经更新成为新的打包的Jar(需要重点注意maven仓库的jar的更新时间-就是这个环节使得我们迟迟找不出为什么会有bug,是因为我们一直没有install,导致maven仓库的代码一直没有更新,使用当然会出bug..),别的项目使用的maven仓库的jar是你更新的jar.

deploy 将项目输出的部件安装到本地仓库。

三、site (建立项目站点)

pre-site / site / post-site / site-deploy四个阶段。

maven常用的几个命令
$mvn clean  执行pre-clean 与clean

$mvn test 执行default生命周期从validate到test的所有阶段

$mvn clean install 执行clean周期的clean阶段和default的install阶段(执行pre-clean\clean以及从validate到install的所有)

compile package 编译打包

clean package -Dmaven.test.skip=true 清除后打包除开test的代码

---备注
打包后的war包中的lib文件是又pom文件在package时maven根据pom的配置从本地仓库复制到相应的Jar文件中

pom中scope标签就是依赖范围的配置,默认是compile,可选配置有test、provided、runtime、system、import

!!依赖范围时provide的不会打包到war包中,如果有依赖于web容器中包含的相同,会导致冲突问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值