栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven仓库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven仓库

目录

1、在Maven中涉及仓库

2、Maven 依赖库搜索顺序

3、本地仓库位置

4、中央仓库

5、私服


对于maven来说,仓库分为两类:本地仓库和远程仓库。

        远程仓库又分为:中央仓库+私服+其它公共远程仓库

1、在Maven中涉及仓库
  • 工作空间,即我们的项目工程,这里面可能会放着pom.xml文件,这个pom.xml就是maven的配置文件

  • 本地仓库,本地仓库用于存放jar包,其实Jar包并不是直接放入工作空间的,它是存放在本地仓库,然后在执行发布打包的时候,添加依赖路径

  • 中央仓库:Maven中央存储库是由Maven社区提供的资源库。它包含了大量的常用程序库。它不要求配置,搜索时需要互联网接入

  • 私库:是架设在本机或者局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库,用于缓解频繁从外网下载jar包资源的压力。而且使用私库作为缓存层,也相对安全一些。

  • 其它共享仓库:除了中央仓库和私服,还有很多其他公开的远程仓库,常见的有Java.NET Maven库(http://download.java.net/maven/2/)和jboss Maven库(http://repository.jboss.com/maven2/)等

下面为表达项目、本地仓库、远程仓库(共享仓库)之间的关系

2、Maven 依赖库搜索顺序

当我们在pom中声明了依赖关系后,参考上面的图:

        当我们执行 Maven 构建命令,Maven 依赖库按以下顺序进行搜索:

                        1.  Maven在执行相关的任务时,会先去本地仓库查看是否有该资源,如果有的话,判断版本是否正确,如果一切都没问题则直接使用;否则,执行下一步

                        2. Maven会去配置的中央仓库中查找,如果找到就拷贝到本地仓库中;找不到则会给出相关的提示

                        3.  Maven在本地如果搭建了私库,则会去私库中查找,找到就拷贝到本地仓库;找不到就会去中央仓库中查找,然后放入私库和本地库。(有了私库,局域网内的开发者可以共享依赖,就不用每个人都去外网下载jar包,浪费带宽了。)

3、本地仓库位置

        windows系统中本地仓库默认路径在我们C盘目录下,对于专业人士来说C盘很危险,下面修改一下默认配置。(关于本地仓库和共享仓库的配置都在settings.xml中,这个文件位于conf中,如果没有则拷贝一份即可。)

         在自己的用户目录下都有一个路径名为.m2/repository/的仓库目录。编辑文件~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址



        D:apache-maven-3.5.0repository
 

(如果未出现.m2文件夹,可以运行 mvn help:system生成

默认情况下,${user:home}/.m2/settings.xml文件是不存在的,用户需要从Maven安装目录复制${user:home}/conf/settings.xml文件再进行编辑 )

4、中央仓库

Maven的安装文件自带了中央仓库的配置。

使用解压工具打开jar文件$M2_HOME/lib/maven-model-builder-3.5.jar(我的路径:D:apache-maven-3.8.1lib),然后访问路径:org/apache/maven/model/pom-4.0.0.xml,可以看到如下的配置:(可以通过Central Repository:访问远程仓库 )

 
    
      central
      Central Repository
      https://repo.maven.apache.org/maven2
      default
      
        false
      
    
  

5、私服

        私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。此外,一些无法从外部仓库下载到的构件也能从本地上传到私服上供大家使用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号