根据图片理解maven

发布于:2025-06-20 ⋅ 阅读:(19) ⋅ 点赞:(0)

maven 是一款强大的项目管理与构建工具,在 Java 开发中尤为常用,结合这张图,从核心功能、仓库体系、工作流程三方面快速了解:

一、核心作用

  • 项目构建:自动完成编译、测试、打包、部署等流程(比如把 .java 编译成 .class、打成 jar/war 包 )。
  • 依赖管理:帮你 “自动找 jar 包”,不用手动下载、复制粘贴,通过简单配置就能引入框架(如 Spring、MyBatis )。

二、仓库体系(重点)

Maven 用三级仓库管理 jar 包,流程像 “接力赛”:

  1. 本地仓库(蓝色):你电脑里的一个文件夹(比如 C:\Users\用户名\.m2\repository ),存下载好的 jar 包,优先查找,避免重复下载。
  2. 远程仓库(私服)(绿色):公司 / 团队自己搭的私有仓库(可选),用于存内部框架、公共组件,团队协作时用
  3. 中央仓库(粉色):Maven 官方维护的 “全球仓库”,包含几乎所有开源 jar 包,本地和私服没有时,会从这下载

三、工作流程(依赖查找逻辑)

当你在项目里通过 pom.xml 引入一个依赖(比如 Spring ),Maven 会按以下顺序找 jar 包:

  1. 先看本地仓库有没有 → 有就直接用。
  2. 没有的话,看公司有没有远程仓库(私服) → 有就从私服下载到本地。
  3. 还没有,就去中央仓库下载 → 下完存本地,下次直接用。

四、为什么用 Maven?

  • 省心:不用手动管理 jar 包,一行配置自动下载。
  • 规范:统一项目结构、构建流程,团队协作不 “打架”。
  • 高效:一次下载,本地仓库复用,多人开发共享依赖。

简单说,Maven 是 Java 项目的 “管家”,用仓库体系帮你自动管依赖、管构建,让开发更专注写代码~

这张图聚焦 Maven 生命周期,是理解 Maven 构建流程的核心。以下用 “盖房子” 类比,拆解 Maven 核心逻辑:

一、核心概念:Maven 生命周期是 “构建流程的阶段组合”

Maven 把项目构建(从代码到可运行产物)拆成 3 套 “流程模板”(生命周期),每套模板包含多个阶段(Phase),类似 “盖房子分奠基→砌墙→装修” 的流程。

二、3 套生命周期详解(类比 “盖房子流程”)

1. clean 生命周期:“拆房子”(清理旧产物)
  • 作用:删除上一次构建的残留文件(如 target 目录),为新构建 “腾地方”。
  • 阶段
    • pre-clean:准备清理(极少手动用,Maven 自动触发前置逻辑)。
    • clean:执行清理(删除 target 目录)。
    • post-clean:清理后收尾(同理,极少手动用)。

类比:拆房子前先断水断电(pre-clean)→ 拆房子(clean)→ 清理建筑垃圾(post-clean)。

2. default 生命周期:“盖房子核心流程”(编译→测试→打包→部署)
  • 作用:项目构建的核心流程,从源码到可运行产物的完整步骤。
  • 阶段(重点,日常开发常用):
    • compile:编译代码(把 .java 转成 .class)。
    • test:运行单元测试(确保代码逻辑正确)。
    • package:打包(生成 Jar/War 包,类似 “把房子装修好封装”)。
    • install:安装到本地仓库(把 Jar 包存到本地 Maven 仓库,供其他项目引用)。

类比
compile → 打地基、砌墙(把设计图转成实体结构)。
test → 验收(检查墙砌得直不直、水电通不通)。
package → 装修(给房子做最终包装,具备交付条件)。
install → 把房子登记到 “本地房产库”(方便其他项目 / 人引用)。

3. site 生命周期:“做房产证 / 说明书”(生成项目报告)
  • 作用:生成项目文档、报告(如 API 文档、测试覆盖率报告)。
  • 阶段
    • pre-site:准备生成报告(自动触发前置逻辑)。
    • site:生成报告(如 HTML 格式的项目文档)。
    • post-site:报告生成后处理(极少手动用)。

类比:给房子办房产证、拍宣传照(生成文档 / 报告),方便别人了解项目。

三、关键规则:“执行后边阶段,自动触发前边所有阶段”

同一生命周期内,执行某个阶段时,Maven 会自动执行它之前的所有阶段

比如:

  • 执行 mvn package(属于 default 生命周期),Maven 会自动先执行 compile → test → 再执行 package
  • 执行 mvn install,会自动执行 compile → test → package → install

四、总结:Maven 生命周期是 “标准化的构建流程”

Maven 通过 3 套生命周期,把项目构建拆成清晰的阶段,让构建流程标准化、自动化

  • clean 负责 “清理旧产物”,
  • default 负责 “核心构建流程”(从编译到部署),
  • site 负责 “生成项目文档”。

执行命令时,Maven 会自动串联同一生命周期的阶段,让开发者只需关注 “要达到的目标”(如 package 或 install),无需手动执行每个步骤。这就是 Maven 提升效率的核心逻辑~

 


网站公告

今日签到

点亮在社区的每一天
去签到