在 Maven 世界中,任何一个依赖、插件或者项目构建的输出,都可以称为 构件 。
坐标和依赖是构件在 Maven 世界中的逻辑表示方式,构件的物理表示方式是文件,Maven 通过仓库来统一管理这些文件。 任何一个构件都有一组坐标唯一标识。有了仓库之后,无需手动引入构件,我们直接给定构件的坐标即可在 Maven 仓库中找到该构件。
Maven 仓库分为:
-
本地仓库(Local Repository):
每台开发者的本地机器上都会有一个本地仓库,通常位于用户目录下的
.m2
文件夹中。当你第一次使用 Maven 下载依赖时,Maven 会把这些依赖从中央仓库下载到本地仓库中。 -
远程仓库(Remote Repository):
除了中央仓库外,还可以配置其他远程仓库。远程仓库可以是公共的或私有的,用来存储组织内部或特定项目的依赖。企业通常会搭建私有的远程仓库来管理自己的项目依赖。
Maven 远程仓库可以分为:
1.中央仓库 :这个仓库是由 Maven 社区来维护的,里面存放了绝大多数开源软件的包,并且是作为 Maven 的默认配置,不需要开发者额外配置。另外为了方便查询,还提供了一个查询地址open in new window,开发者可以通过这个地址更快的搜索需要构件的坐标。
2.私服:私服是一种特殊的远程 Maven 仓库,它是架设在局域网内的仓库服务,私服一般被配置为互联网远程仓库的镜像,供局域网内的 Maven 用户使用。
3.其他的公共仓库:有一些公共仓库是为了加速访问(比如阿里云 Maven 镜像仓库)或者部分构件不存在于中央仓库中。
4.分布式仓库:除了传统的中央仓库和私有远程仓库外,还有一些分布式仓库系统,如 Nexus 和 Artifactory。它们可以部署在本地,提供更强大的管理和控制功能,例如缓存、权限控制、部署策略等。
Maven 依赖包寻找顺序:
- 先去本地仓库找寻,有的话,直接使用。
- 本地仓库没有找到的话,会去远程仓库找寻,下载包到本地仓库。
- 远程仓库没有找到的话,会报错。
更多消息资讯,请访问昂焱数据。