什么是 Maven 仓库
- Maven 仓库存储依赖的地方,体现形式就是本地的一个目录。
- 仓库中不仅存放依赖,而且管理着每个依赖的唯一标识(坐标),Java 项目凭坐标获取依赖。
仓库分类
仓库分类如下:
graph TD
Maven仓库 --> 本地仓库
Maven仓库 --> 远程仓库
远程仓库 --> 中央仓库
远程仓库 --> 公共仓库
远程仓库 --> 私服
本地仓库
即在 settings.xml 中配置的目录。
使用过了的依赖都会自动存储在本地仓库中,后续可以复用。
远程仓库
中央仓库
-
Maven 中央仓库是由 Maven 社区提供的仓库,不用任何配置,Maven 中内置了中央仓库的地址。
其中包含了绝大多数流行的开源 Java 构件。
-
mvnrepository.com/ 可以搜索需要的依赖的相关信息(仓库搜索服务)
公共仓库
- 除中央仓库之外,还有其他远程仓库。 比如 aliyun 仓库(maven.aliyun.com/nexus/conte…)
- 中央仓库在国外,下载依赖速度过慢,所以都会配置一个国内的公共仓库替代中央仓库。
<!--setting.xml中添加如下配置-->
<mirrors>
<mirror>
<id>aliyun</id>
<!-- 中心仓库的 mirror(镜像) -->
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
私服
公司范围内共享的仓库,不对外开放,采用局域网的方式下载。
可以通过 Nexus 来创建、管理一个私服。
依赖下载流程
当需要依赖时,会从仓库中去查找,优先顺序为:
本地仓库 > 私服(如果配置了的话) > 公共仓库(如果配置了的话) > 中央仓库