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 包

目录
相关文章
|
9月前
|
存储 Java Maven
|
14天前
|
Java 应用服务中间件 项目管理
Maven详解
Apache Maven是一个强大的Java项目管理和构建工具,它简化了项目结构、依赖管理、构建过程。Maven遵循约定优于配置原则,提供标准项目模板,自动处理依赖下载和版本控制。通过POM(Project Object Model)文件,开发人员声明项目属性、依赖、构建配置等。Maven支持多模块管理、文档生成、版本管理和构建报告。使用Maven,可以更高效地管理复杂项目,避免手动管理依赖带来的问题。此外,Maven的配置文件(settings.xml)允许设置本地仓库、中央仓库镜像和JDK版本等。
Maven详解
|
11月前
|
Java Apache 项目管理
maven
Maven 是一个流行的 Java 项目管理工具,它可以帮助开发人员管理项目依赖、构建项目、运行测试、打包和部署项目等。Maven 的主要功能包括:
149 2
|
10月前
|
存储 Java 程序员
Maven详解
Maven详解
274 0
|
10月前
|
Java 应用服务中间件 Maven
关于Maven,你真的了解它吗?(上)
关于Maven,你真的了解它吗?(上)
|
11月前
|
Java 项目管理 Maven
|
Java 测试技术 应用服务中间件
【Maven】了解
【Maven】了解
|
Java Maven Android开发
eclipsp整合maven
eclipsp整合maven
99 0
eclipsp整合maven
|
Oracle Java 关系型数据库
Maven是什么
Maven是什么,maven的安装,maven的仓库配置方式
Maven是什么