Maven仓库

 maven项目在构建过程中对于所依赖的jar包,首先会在本地寻找对应的jar包,如果没有就会再在maven终于仓库中寻找对应的依赖。
 由此,maven仓库分为本地仓库和远程仓库,本地仓库指的是在本机上存储的用来存放各种类库的仓库,如本地存储的~m2/repository即为本地仓库,而远程仓库电信的就是maven终于仓库。在远程仓库中还衍生出私服,私服是在局域网内部的一个仓库,用来开放给项目开发机构的各个部分,私服能够避免一直与中央仓库连接造成的效率低下。
 在maven项目开发的过程中,某个项目的版本分为快照(SNAPSHORT)和发行版本,快照指的是还未稳定的项目版本,发行版本则指的是已经能够稳定运行的版本。
 mavne镜像指的是在连接到远程仓库时,可以选择一个包含该远程仓库全部内容但是连接代价更低的远程仓库,镜像可以在用户视角的setting.xml文件中配置。
 仓库搜索服务,用来提供在不知道所需构件来源于哪个远程仓库时使用的一种工具,常用的有Sonatype Nexus,

Jarvana,MVNbrowser,MVNrepository.
下面详解maven仓库的依赖解析机制,解析依赖分为以下几部分:
(1),如果依赖是system,则依赖直接从本地解析。
(2),在本地仓库中解析,如果存在对应的依赖类库,则解析成功。
(3),如果本地仓库中没有,则遍历项目pom.xml文件中的所有远程库,发现后下载到本地仓库并解析。
(4),如果依赖的版本是RELEASE或者LATEST,则基于更新策略(更新策略定义在项目pom.xml文件中的项目源中国)读取远程仓库中对应构建的~/maven-metadata.xml,将其与本地仓库的对应元数据合并后,得到最新的RELEASE或者LATEST真实的值,然后基于该值检查本地仓库,或者从远程仓库下载。
(5),如果依赖的是SNAPSHORT版本,与4步骤类似,这是读取远程仓库中的文件为对应构件的~/version/maven-metadata.xml文件。
(6),如果最后解析得到的构件版本是时间戳格式的快照,则将其文件复制为非时间戳格式文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值