Maven
Maven
是一个项目管理工具,可以对 Java
项目进行构建、依赖管理。
Maven仓库
什么是仓库
在 Maven 的术语中,仓库是一个位置(place
)。
Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
有哪些仓库
Maven 仓库有三种类型:
本地仓库 local
- Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。(publishToLocal脚本)
- 运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
- 每个用户在自己的用户目录下都有一个路径名为
.m2/respository/
的仓库目录 - 当你运行 Maven 命令,Maven 将下载依赖的文件到你的仓库目录中。
中央仓库 central
当你运行 Maven 命令,Maven 将下载依赖的文件到你指定的路径中。
- 这个仓库由 Maven 社区管理。
- 不需要配置。
- 需要通过网络才能访问。
远程仓库 remote
开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
Maven 依赖搜索顺序
当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
-
步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
-
步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
-
步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
-
步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。