mvn clean install 和 mvn clean deploy的区别

mvn clean install 和 mvn clean deploy 是 Maven 构建和部署过程中的两个不同命令,它们各自执行不同的任务集。

mvn clean install

  • 作用mvn clean install 命令首先执行 clean 阶段,然后执行 install 阶段。
  • clean 阶段:这个阶段会删除之前构建生成的所有文件,包括 target 目录下的内容,确保从干净的状态开始构建。
  • install 阶段:在 clean 之后,install 阶段会编译、测试(如果配置了测试的话)、打包项目,并将打包好的构件(如 JAR、WAR 文件)安装到本地 Maven 仓库中。这意味着,你可以在其他 Maven 项目中通过依赖的方式使用这个项目的构件,而不需要将其部署到远程仓库。
  • 用途:主要用于本地开发和测试,确保你的项目可以在本地构建并安装到本地 Maven 仓库中。

mvn clean deploy

  • 作用mvn clean deploy 命令同样首先执行 clean 阶段,然后执行 deploy 阶段。
  • clean 阶段:与 mvn clean install 中的 clean 阶段相同,删除之前构建生成的所有文件。
  • deploy 阶段:在 clean 之后,deploy 阶段会执行 install 阶段的所有任务(编译、测试、打包、安装到本地仓库),然后还会将打包好的构件部署到配置的远程 Maven 仓库中。这意味着,你的项目构件现在可以被其他开发者或项目通过 Maven 依赖的方式下载和使用。
  • 用途:主要用于将项目构件发布到远程仓库,供其他项目或开发者使用。这通常是在项目构建成功并准备进行发布时使用的命令。

总结

  • mvn clean install 主要用于本地开发和测试,确保项目可以在本地构建并安装到本地 Maven 仓库。
  • mvn clean deploy 用于将项目构件发布到远程 Maven 仓库,供其他项目或开发者使用。

选择哪个命令取决于你的具体需求:如果你只是想在本地测试你的项目,那么 mvn clean install 就足够了;如果你需要将你的项目构件分享给其他人或项目,那么就需要使用 mvn clean deploy