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
。