Maven的常用命令管理项目的生命周期

一、打包区别

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

相关推荐
Mahir086 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit7 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事8 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海8 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠8 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特9 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU10 小时前
Spring IoC&DI
java·数据库·spring
один but you10 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农10 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool