一、Maven是什么?
1.Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
2.POM:(project Object Model):项目对象模型。
项目对象模型需要依赖管理
二、Maven的作用
1.项目构建:提供标准的、跨平台的自动化项目构建方式
2.依赖管理:方便快捷的项目管理依赖的资源(jar包),避免资源间的版本冲突问题。
统一开发结构:提供标准的,统一的项目结构。
三、Maven基础概念
1.仓库:用于存储资源,包含各种jar包
2.仓库分类:
(1)本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源。
(2)远程仓库:非本机电脑上的仓库,为本地仓库提供资源
当我们在maven中输入所需jar包坐标的时候,maven会先从本地仓库寻找并加载jar包到项目,如果本地仓库没有,那么maven就会从远程仓库寻找并加载进项目
中央仓库:Maven团队维护,存储所有资源的仓库
私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源。
(3)私服的作用:
❤保存具有版权的资源,包含购买或自主研发的jar包
❤中央仓库中的jar包都是开源的,不能存储具有版权的资源。
❤一定范围内共享资源,仅对内部开放,不对外开放
3.坐标:
1.什么是坐标?
Maven中坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2/
2.Maven坐标主要组成
groupID:定义当前Maven隶属组织名称(通常是域名反写,例如:org.mybatis)
artifactid:定义当前Maven项目名称(通常是模块名称,例如CRM,SMS)
version:定义当前项目版本号
packaging:定义项目打包方式
https://mvnrepository.com/
Maven官网查jar包就去这里。⬆
四、配置本地仓库
配置本地仓库,需要找到你下载的maven目录,找到conf目录,然后修改里面的settings.xml文件
默认位置:
Default: ${user.home}/.m2/repository
默认位置在电脑C盘的当前用户.m2文件夹的repository文件夹中
自定义目录:
<localRepository>E:/Maven/repository</localRepository>
我把本地仓库放在E盘的E:/Maven/repository中
五、远程仓库的配置
✔本地仓库已经有了E:/Maven/repository那么资源要从哪里获得呢?
🙌答:远程仓库。
下面开始配置远程仓库(阿里云镜像仓库的配置)
在setting文件中配置阿里云镜像仓库
<!--具体配置的仓库下载镜像-->
<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>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
<!--具体配置的仓库下载镜像-->
<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>
东西下到哪里,东西从哪里来已经搞定✔
六、全局setting和用户setting的区别
1.全局setting定义了当前计算机中Maven的公共配置。我用的
2.用户setting定义了当前用户的配置。别人想动我计算机用的
总结:
配置本地仓库:资源下载到哪里。
配置阿里云镜像仓库:资源从哪里来。
setting文件的区别