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 包

目录
相关文章
|
数据可视化 Java 项目管理
|
12月前
|
数据安全/隐私保护
Maven-2
Maven-2
78 0
|
4月前
|
Java Maven 开发工具
Maven 特点
Maven是一个遵循统一规则、可扩展的Java项目管理工具,强调依赖管理和自动化更新。它拥有庞大的库资源,支持JAR、WAR等输出类型的构建,并能自动生成项目站点和报告。Maven无缝集成版本控制系统,实现发布管理和并行构建,提升构建速度。其错误报告详细,提供链接至解决方案。子项目可继承父项目依赖,无需重复指定版本号,保证向后兼容性。
|
Java 数据库连接 Maven
Maven介绍
Maven介绍
89 0
|
5月前
|
Java Maven
maven 使用小技巧
maven 使用小技巧
32 0
|
12月前
|
存储 XML Java
Maven
Maven
176 0
|
12月前
|
安全 Java 应用服务中间件
Maven-1
Maven-1
50 0
|
存储 Java 程序员
Maven详解
Maven详解
317 0
|
Java Maven 容器
关于Maven,你真的了解它吗?(下)
关于Maven,你真的了解它吗?(下)
|
Java 程序员 数据库连接
Maven的使用
Maven的使用
82 0