maven常用命令和maven的生命周期

一、maven常用命令

1、clean:清理:删掉编译后的.class文件。

①、项目根目录中有一个target的文件夹,里面存放的是编译后的.class文件。

maven常用命令和maven的生命周期

②、在执行clean命令后,调用maven-clean-plugin的jar包删掉target文件夹。

maven常用命令和maven的生命周期

此时target文件夹消失。

maven常用命令和maven的生命周期

2、validate 验证:验证项目是否正确,所有需要的资源是否可用。

①执行validate命令后,调用build-helper-maven-plugin的jar包验证项目是否正确。

maven常用命令和maven的生命周期

3、compile 编译:将项目中的.java文件编译为.class文件。

①、在执行compile命令前,先调用build-helper-maven-plugin的jar包验证项目是否正确,再调用maven-compiler-plugin的jar包将项目中的.java文件编译为.class文件存放在target文件夹中。

②、执行顺序:validate(验证)-->编译compile。

maven常用命令和maven的生命周期

target文件夹又会出现在项目根目录中。

maven常用命令和maven的生命周期

4、test:单元测试

①、执行test命令,会调用maven-surefire-plugin的jar将项目根目录下src\test\目录下的文件执行一遍。

②、在执行test操作前会先调用build-helper-maven-plugin的jar包验证项目是否正确,再调用maven-compiler-plugin的jar包进行编译,再调用maven-surefire-plugin的jar进行单元测试。

③、执行顺序:validate(验证)-->编译compile-->单元测试test。

④、使用命令执行单元测试文件,类名要求必须是xxxxTest.java。

maven常用命令和maven的生命周期

5、package:打包:java项目打成jar包,web项目打成war包。

①、执行package命令,调用maven-war-plugin的jar包将项目打包成jar或者war放到根目录下target文件目录下。

②、在执行package操作前会先调用build-helper-maven-plugin的jar包验证项目是否正确,再调用maven-compiler-plugin的jar包进行编译,再调用maven-surefire-plugin的jar包进行单元测试,再调用maven-war-plugin的jar包进行打包。(截图太长省略了)

③、执行顺序:validate(验证)-->compile(编译)-->test(测试)-->package(打包)。

maven常用命令和maven的生命周期

maven常用命令和maven的生命周期

6、verify:运行所有检查,验证构件包是否有效

7、install 安装:将当前项目打成jar包放到本地仓库中,方便本地其他项目应用。

①、执行install操作调用maven-install-plugin的jar包 将当前项目打成jar包放到本地仓库中。

②、在执行deploy命令前也会按顺序执行validate验证、compile编译、test测试、package打包、verify检查、install安装(截图太长省略了)

③、执行顺序:validate(验证)-->compile(编译)-->test(测试)-->package(打包)-->verify(检查)-->install(安装)。

maven常用命令和maven的生命周期

maven常用命令和maven的生命周期

8、deploy上传:将当前项目jar包上传到私服上,和其他项目共享。

①、执行deploy命令调用 maven-deploy-plugin的jar包将当前项目jar包上传到私服上。

②、在执行deploy命令前也会按顺序执行validate验证、compile编译、test测试、package打包、verify检查、install安装、deploy上传(截图太长省略了)。

③、执行顺序:validate(验证)-->compile(编译)-->test(测试)-->package(打包)-->verify(检查)-->install(安装)-->deploy(上传)。

maven常用命令和maven的生命周期

maven常用命令和maven的生命周期

二、maven项目的生命周期

maven中有“三套”生命周期,每一套生命周期都相互独立、互不影响。

1、cleanLifeCycle 清理生命周期:clean清理项目

①、pre-clean:执行清理前需要完成的工作

②、clean:清理上一次构建生成的文件

③、post-clean:执行清理后需要完成的工作

2、defaultLifeCycle默认生命周期:

①、validate(验证):验证项目是否正确,所有需要的资源是否可用。

②、compile(编译):将项目中的.java文件编译为.class文件。

③、test(测试):运行测试代码。

④、package(打包):将项目打包成jar或者war放到根目录下target文件目录下。

⑤、verify(检查):运行所有检查,验证构件包是否有效。

⑥、install(安装):将当前项目打成jar包放到本地仓库中,方便本地其他项目应用。

⑦、deploy(上传):将当前项目jar包上传到私服上,和其他项目共享。

在默认生命周期中这几个个命令是按顺序执行的,无论执行哪个命令,都会先自动将这个命令之前的所有命令按顺序执行一遍。

3、siteLifeCycle站点生命周期:site生成站点文档

①、pre-site:生成项目站点之前需要完成的工作。

②、site:生成项目信息描述的站点文档(比如项目用到了哪些jar包)。

③、post-site:生成项目站点之后需要完成的工作。

④、site-deploy:将项目站点发布到服务器。