Maven (简单理解)

简介: Maven (简单理解)

什么是 Maven ?

Maven 是一个项目管理工具, 通过 pom.xml 文件的配置, 来获取 jar 包 (而不用手动下载, 添加 jar 包)

官方一点的说法: Maven 是一个项目管理工具, 基于 POM (Project Object Medel 项目对象模型) 的概念, Maven 可以通过一小段描述信息来管理项目的创建, 报告, 文档.


Maven 的功能

  1. 项目构建 – Maven 命令 : 编译, 测试, 打包, 发布 …
  2. 管理依赖 – 通过 pom.xml 管理 依赖 (jar 包) 的添加
    2.1 依赖坐标 : (GroupId, ArtifactId, Version), 三者描述该依赖所在中央仓库的位置

2.2 依赖传递 : 父依赖可能依托子依赖实现, 于是引入父依赖时, 必须先引入子依赖 (Maven 可以帮我们自动引入子依赖)

2.3 依赖排除 : 有些依赖中的有些内容是不能够存在的 (Maven 能够帮助我们自动排除)

Maven 仓库

在 Maven 中, 通过 GroupId, ArtifactId, Version 的配置, 来唯一识别一个 jar 包

Maven 仓库则用于存储 jar 包

在 pom 文件中配置完依赖后, 点击刷新, Maven 会根据坐标的位置, 去仓库寻找 jar 包, 并下载添加到项目中供用户使用


jar 包获取流程

有点类似 JVM 的双亲委派模型

无私服/代理仓库

当项目中引入对应依赖 jar 包后, 首先会查找本地仓库中是否有对应 jar 包

  • 如果有, 则在项目中直接引用
  • 如果没有, 则去中央仓库中下载 jar 包到本地仓库, 项目仍引用 本地仓库 的 jar 包

有私服/代理仓库

当项目中引入对应依赖 jar 包后, 首先会查找本地仓库中是否有对应 jar 包

  • 如果有, 则在项目中直接引用
  • 如果没有, 则去 私服/代理仓库查找,
    – 如果有, 则将资源缓存到本地仓库, 项目使用本地仓库的 jar 包
    – 如果没有, 则去中央仓库中下载 jar 包, 缓存到 私服/代理服务器, 再缓存到本地仓库, 项目仍引用 本地仓库 的 jar 包

目录
相关文章
|
18天前
|
Java 测试技术 项目管理
maven 用来做什么
Maven 是一款流行的 Java 项目管理工具,支持项目构建、依赖管理和信息管理。它通过自动化构建流程、中央与本地仓库的依赖管理、项目元数据维护、生成各类项目报告及协助项目部署,极大提升了开发效率和项目管理的便捷性。
30 5
|
2月前
|
Java API 项目管理
Maven的使用
Maven的使用
42 2
|
4月前
|
存储 前端开发 Java
Maven(一)
Maven(一)
79 0
Maven(一)
|
6月前
|
存储 IDE Java
Maven
Maven
51 0
|
Java 测试技术 Maven
|
Java 应用服务中间件 Apache
maven
maven
106 0
|
Java 测试技术 应用服务中间件
【Maven】了解
【Maven】了解
|
Java Maven Android开发
eclipsp整合maven
eclipsp整合maven
131 0
eclipsp整合maven
|
Java Maven
什么是Maven?
什么是Maven?
120 0
|
Java 测试技术 BI
Maven能够解决什么问题
Maven能够解决什么问题
156 0