写在前面

本文围绕项目内部依赖的第三方JAR包相关的仓库的分类、获取,对应的标签是;针对插件的远程仓库不在该博文中讨论,当然插件也是通过仓库进行下载获取,插件对应的标签是。

MAVEN仓库的定义

MAVEN仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。MAVEN仓库能帮助我们管理构件,它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。在MAVEN中,任何一个依赖或者项目构建的输出,都称为构件。

MAVEN仓库的分类

①. 本地仓库:不需要联网的本地磁盘目录。默认情况下,每个用户所在的用户目录下都有一个路径为 ${user.home}/.m2/repository/ 的仓库目录,它在第一次执行maven 命令时才被创建,运行MAVEN项目时,项目所需要的所有构件都是先从本地仓库获取的,如果本地仓库没有,会尝试去中央仓库获取,如果中央仓库也没有,它会尝试从远程仓库下载构件到本地仓库,然后再使用本地仓库的构件。
②. 中央仓库:需要联网的内置的远程仓库。由MAVEN社区提供和管理的仓库,包含了大量常用的类库,不需要在工程/代码中手动配置,也可以成为MAVEN缺省的远程仓库。默认中央仓库:https://repo.maven.apache.org/maven2
③. 远程仓库:需要联网的、由开发人员自己定制的仓库,包含了所需要的代码库或者工程中用到的构件。当相关依赖的构件在中央仓库找不到时,此时需要配置对应的远程仓库来获取对应的构件。

MAVEN中央仓库

中央仓库的定义在哪里可以找到?

<!-- 可以从安装路径下看到默认中央仓库的地址如下:
D:\Program Files (x86)\apache-maven-3.6.3\lib\
maven-model-builder-3.6.3.jar\org\apache\maven\model\pom-4.0.0.xml 
中央仓库的id为central,远程url地址为http://repo.maven.apache.org/maven2,
关闭了SNAPSHOT版本构件下载的支持
-->
<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>

MAVEN仓库的其他配置项

<!-- repository的releases和snapshots标签中有个enabled属性,默认为true。,
表示是否需要从这个远程仓库中下载稳定版本或者快照版本的构件,一般使用第三方仓库,建议下载稳定版本的构件。 -->
<repository>
  <id>aliyun-releases</id>
  <url>https://maven.aliyun.com/repository/public</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>

MAVEN仓库的请求顺序

项目根据以下顺序获取相关的依赖包。
1.本地仓库 -》2.中央仓库(MAVEN缺省的远程仓库) -》3.远程仓库

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐