Maven基础概念
2024/2/23大约 2 分钟《Maven》笔记MavenJava构建工具依赖管理项目管理POM
1. 仓库

- 仓库:用于存储资源,包含各种jar包
- 仓库分类:
- 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
- 远程仓库:非本机电脑上的仓库,为本地仓库提供资源
- 中央仓库:Maven团队维护,存储所有资源的仓库
- 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源
- 私服的作用:
- 保存具有版权的资源,包含购买或自主研发的jar
- 中央仓库中的jar都是开源的,不能存储具有版权的资源
- 一定范围内共享资源,仅对内部开放,不对外共享
- 保存具有版权的资源,包含购买或自主研发的jar
2. 坐标

什么是坐标?
Maven中的坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2lMaven坐标主要组成
groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如: org.mybatis)
artifactld:定义当前Maven项目名称(通常是模块名称,例如CRM、 SMS)
version:定义当前项目版本号
packaging: 定义该项目的打包方式Maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成
3. 本地仓库配置
Maven启动后,会自动保存下载的资源到本地仓库
默认位置
<localRepository>${user.home}/.m2/repository</localRepository>当前目录位置为登录用户名所在目录下的.m2文件夹中
自定义位置
<localRepository>D:\maven\repository</localRepository>当前目录位置为D:mavenrepository文件夹中
4. 远程仓库配置
Maven默认连接的仓库位置
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>5. 镜像仓库配置
在setting文件中配置阿里云镜像仓库
<mirrors>
<!--配置具体的仓库的下载镜像 -->
<mirror>
<!-- 此镜像的唯一标识符,用来区分不同的mirror元素 -->
<id>nexus-aliyun</id>
<!--对哪种仓库进行镜像,简单说就是替代哪个仓库 -->
<mirrorOf>central</mirrorOf>
<!--镜像名称 -->
<name>Nexus aliyun</name>
<!-- 镜像URL -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>6. 全局setting与用户setting区别
- 全局settting定义了当前计算器中Maven的公共配置
- 用户settting定义了当前用户的配置
