0.前言

我们在使用maven构建项目时,经常会用到打包命令,mvn install、mvn package、mvn deploy 都可以打包,但是有有所区别。

1.区别

先上图:

mvn clean package

mvn clean install

可以看出mvn clean package执行了

clean、resources、compile、testResources、testCompile、test、jar(打包)7步

mvn clean install执行了

clean、resources、compile、testResources、testCompile、test、jar、install 8步

mvn clean deploy执行了

clean、resources、compile、testResources、testCompile、test、jar、install、deploy 9步

区别:

  • mvn package打包到本项目,一般在项目target目录下。
  • mvn install打包到本地仓库,如果没设置Maven本地仓库,一般在用户/.m2目录下。
  • mvn deploy打包上传到远程仓库,如:私服nexus等,需要配置pom文件。

总结:

  • package命令:完成项目编译、单元测试、打包功能,但打包文件未部署到本地Maven仓库和远程Maven仓库。
  • install命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库,但未部署到远程Maven仓库。
  • deploy命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库和远程Maven仓库。