maven打包 package install deploy区别

一、构建项目的几个环节

  • 清理(clean):删除以前的编译结果,为重新编译做好准备。
  • 编译(compile):将Java 源程序编译为字节码文件。
  • 测试(test):针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
  • 打包(package):将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。
  • 安装(install):在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
  • 部署(deploy):将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。

二、打包区别

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

三、打包过程

  • 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仓库。



    摘自:https://blog.csdn.net/cockroach02/article/details/109523105

posted @ 2022-06-22 10:24  RyderWang  阅读(1142)  评论(0编辑  收藏  举报