仓库
仓库用于存储资源,包含各种jar包。
仓库分类:
- 本地仓库:自己电脑作为仓库,连接远程仓库获取资源。
- 远程仓库:非本地的仓库,为本地仓库提供资源。
中央仓库:由Maven团队维护,存储开源资源的仓库,地址:Central Repository
私服:部门或者公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用:
保存具有版权的资源,包括购买和自主研发的jar。
一定范围内共享资源,仅对内部开放,不对外共享。
坐标
什么是坐标
maven中的坐标用于描述资源在仓库中的位置,由一些标签组成。
Maven坐标的主要组成
groupId:定义当前项目属于哪个组织,通常是域名反写。
artifactId:定义当前项目名称,通常是模块名称,例如CRM、SMS
version:定义当前项目的版本号
packaging:定义当前项目的打包方式
哪里查询资源的坐标
https://mvnrepository.com/
maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载交给机器完成。
本地仓库配置
默认位置
${user.home}/.m2/repository
将当前登录用户名所在目录下的.m2文件夹下的repository文件夹作为仓库
自定义位置
<localRepository>D:/repository</localRepository>
远程仓库配置
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>
镜像仓库配置
由于从中央仓库下载资源太慢,所以在setting.xml中配置阿里云镜像仓库,之后我们就可以从镜像仓库中下载资源。
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<!-- 对中央仓库进行镜像,简单说就是代替中央仓库-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
全局 setting 与用户 setting
| This is the configuration file for Maven. It can be specified at two levels:
|
| 1. User Level. This settings.xml file provides configuration for a single user,
| and is normally provided in ${user.home}/.m2/settings.xml.
|
| NOTE: This location can be overridden with the CLI option:
|
| -s /path/to/user/settings.xml
|
| 2. Global Level. This settings.xml file provides configuration for all Maven
| users on a machine (assuming they're all using the same Maven
| installation). It's normally provided in
| ${maven.conf}/settings.xml.
|
| NOTE: This location can be overridden with the CLI option:
|
| -gs /path/to/global/settings.xml