一、打包区别
- mvn clean: 清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test
- mvn package: 打包到本项目,一般在项目target目录下。
- mvn install: 打包到本地仓库,如果没设置Maven本地仓库,一般在用户/.m2目录下。其实执行install之前先执行了打包,然后对项目进 行安装到本地仓库
- mvn deploy: 打包上传到远程仓库,如:私服nexus等,需要配置pom文件。
- **mvn test:**测试命令,先将src/main/java以及src/test/java中的类都进行编译,然后再执行src/test/java/下所有 junit的测试用例
二、打包过程
- mvn clean package 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)。
- mvn clean install 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install。
- mvn clean deploy 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy。
由上面分析主要区别如下:
package命令:完成项目编译、单元测试、打包功能,但打包文件未部署到本地Maven仓库和远程Maven仓库。
install命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库,但未部署到远程Maven仓库。
deploy命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库和远程Maven仓库。