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 包

目录
相关文章
|
3月前
|
存储 前端开发 Java
Maven(一)
Maven(一)
69 0
Maven(一)
|
6月前
|
存储 Java 关系型数据库
|
6月前
|
Java Maven
maven 使用小技巧
maven 使用小技巧
40 0
|
Java 测试技术 Maven
maven总结
maven总结
43 0
|
安全 Java 应用服务中间件
Maven-1
Maven-1
56 0
|
Java Maven 容器
关于Maven,你真的了解它吗?(下)
关于Maven,你真的了解它吗?(下)
|
JavaScript IDE Java
一文搞定Maven
本文讲解Maven的入门讲解
289 0
一文搞定Maven
|
Java Maven Android开发
eclipsp整合maven
eclipsp整合maven
127 0
eclipsp整合maven
|
Java Maven
什么是Maven?
什么是Maven?
118 0
|
Java 测试技术 BI
Maven能够解决什么问题
Maven能够解决什么问题
150 0