Maven实战-第二十一篇(Nexus中的仓库)

Maven实战-第二十一篇(Nexus中的仓库)

在上一篇中我们介绍了Nexus中有关安装的内容,并且也简单介绍了Nexus中有很多仓库。在这一篇中我们将详细介绍一下有关Nexus中仓库的内容。我们知道Nexus的目的就是方便我们管理Maven的组件。但Maven的组件非常多。为了更好的方便管理,Nexus内置了很多种仓库类型。主要包括代理仓库、宿主仓库和仓库组等。并且每一种仓库都提供了特有的特征,方便我们不同场景的使用。下面我们详细介绍一下它们之间的区别。

一、内置的仓库

在Nexus中有很多内置的仓库,既然是内置仓库,所以很容易理解就是Nexus为我们默认创建的仓库。它们主要包括以下几种:

  • Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。
  • Releases:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
  • Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。
  • 3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
  • Apache Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件。
  • Codehaus Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件。
  • Google Code:这是一个策略为Release的代理仓库,用来代理Google Code Maven仓库的发布版本构件。
  • ava.net-Maven 2:这是一个策略为Release的代理仓库,用来代理java.net Maven仓库的发布版本构件。
  • Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。
  • Public Snapshot Repositories:该仓库组将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务。

二、仓库的分类

上面的内容就是Nexus中内置仓库,通过下图,我们发现这些不同的内置仓库中有一些属性是不一样的。

Maven实战-第二十一篇(Nexus中的仓库)

下面我们按照上图所示,介绍一下上面列表中的属性含义。

  • Name: 也就是内置仓库的名称。
  • Type: 此属性为内置仓库的类型,在Nexus中一共有4中类型,它们分别是。
    • group:仓库组,用来聚合其它仓库的,本身不提供组件下载的能力,通过代理其它仓库提供能力,通过仓库组可以对外提供统一的地址,方便我们配置。
    • hosted:宿主仓库,也就是本地仓库,通常用来部署本地项目或者本公司的依赖。
    • proxy:代理仓库,可以用来代理远程的公共仓库,例如Maven的中央仓库,或者是阿里云的仓库。
    • virtual:虚拟仓库,最初是为了兼容Maven 1而设计的,但现在通过虚拟仓库,可以聚合多个本地仓库,并支持缓存,数据复制,版本控制等功能。
  • Format: 仓库的格式,主要有maven2、maven1和nuget。
Maven

Maven实战-第二十篇(Nexus创建私服)

2023-8-15 7:05:30

Maven

Maven实战-第二十二篇(部署组件到Nexus)

2023-8-24 20:16:40

搜索