maven常用命令和maven的生命周期
一、maven常用命令
1、clean:清理:删掉编译后的.class文件。
①、项目根目录中有一个target的文件夹,里面存放的是编译后的.class文件。
②、在执行clean命令后,调用maven-clean-plugin的jar包删掉target文件夹。
此时target文件夹消失。
2、validate 验证:验证项目是否正确,所有需要的资源是否可用。
①执行validate命令后,调用build-helper-maven-plugin的jar包验证项目是否正确。
3、compile 编译:将项目中的.java文件编译为.class文件。
①、在执行compile命令前,先调用build-helper-maven-plugin的jar包验证项目是否正确,再调用maven-compiler-plugin的jar包将项目中的.java文件编译为.class文件存放在target文件夹中。
②、执行顺序:validate(验证)-->编译compile。
target文件夹又会出现在项目根目录中。
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。
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(打包)。
6、verify:运行所有检查,验证构件包是否有效。
7、install 安装:将当前项目打成jar包放到本地仓库中,方便本地其他项目应用。
①、执行install操作调用maven-install-plugin的jar包 将当前项目打成jar包放到本地仓库中。
②、在执行deploy命令前也会按顺序执行validate验证、compile编译、test测试、package打包、verify检查、install安装(截图太长省略了)
③、执行顺序:validate(验证)-->compile(编译)-->test(测试)-->package(打包)-->verify(检查)-->install(安装)。
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中有“三套”生命周期,每一套生命周期都相互独立、互不影响。
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:将项目站点发布到服务器。