Maven之——Nexus仓库与仓库组

Maven之——Nexus仓库与仓库组

1、    Nexus的仓库与仓库组

Nexus包含多种仓库概念、包括主要的宿主仓库、代理仓库、仓库组等。不同仓库提供不同配置、服务。

代理仓库主要是提供下载缓存构件和插件、如果只是从远程仓库下载构件和插件、那么代理仓库完全足够。宿主仓库主要用于存放项目部署的构件、或者第三方构件用于提供下载。

2、    Nexus内置仓库

Nexus预先配置了一些仓库、如果符合我们使用要求的话、则可以直接使用、简化配置。使用admin/admin123登录、点击左侧导航栏的Repositories链接:

四种仓库类型:hosted(宿主仓库)、proxy(代理仓库)、group(仓库组)、irtual(虚拟仓库)。每个仓库的格式为maven2或者maven1、此外仓库还有个属性为Policy(策略)、表示该仓库是发布(Release)版本仓库、还是快照(Snapshot)版本。最后两列是仓库的状态和路径。如下图:

Maven1格式仓库已经不再使用、虚拟仓库的作用实际上是动态的将仓库内容格式转换、也就是为Maven1服务的、也不再说明。

Central:        代理中央仓库、策略为Release、只会下载和缓存中央仓库中的发布版本构件。

Release:        策略为Release的宿主仓库、用来部署组织内部的发布版本内容。

Snapshot:      策略为Snapshot的宿主仓库、用来部署组织内部的快照版本内容。

3rd party:     策略为Release的宿主仓库类型、用来部署无法从公共仓库获取的第三方发布版本构件、如oracle连接驱动jar包。

ApacheSnapshot:     策略为Snapshot的代理仓库、用来代理ApacheMaven仓库的快照版本构件。

PublicRepositories:该仓库将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。

Public Snapshot Repositories:该仓库将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务。

3、    Nexus仓库分类的概念

Maven可以直接使用宿主仓库、代理仓库、包含宿主、代理仓库等的仓库组、当Maven使用仓库组的时候、其实是通过仓库组找到合适的仓库、进而获取实际构件的内容、仓库组只是一个概念、不具有实际功能。

时间: 2024-12-17 12:17:24

Maven之——Nexus仓库与仓库组的相关文章

发布Maven 到Nexus中央仓库

之前已经介绍过Nexus 部署Maven私服仓库 今天说说关于将JAR(项目)发布到Maven私服. 这个需求是因为Web项目使用的Maven库是第三方的,而三方的这个库又不稳定(如版本的更新.网络中断),虽然做了个库代理下载了索引,但有一天这个第三方的库服务突然关闭了,然后就悲剧了-- 这种悲剧在我的团队中就发生过,可能是对Maven库的理解不透彻,也可能是不清楚哪些JAR是私有的.不过怎样都好,出了问题就要解决,最初是想将缺少的JAR上传到本地Maven私服,但不通其法失败,为了降低对开发的

Maven之——Nexus创建仓库

Maven之--Nexus创建仓库 1.    创建宿主仓库 我们可以使用Maven内置的宿主仓库.发布版的Release.快照版的Snapshot.也可以自己创建宿主仓库.步骤如下: Release宿主仓库: 如上图操作.选择添加一个宿主仓库.下面的参数都可以将鼠标放在?上获取具体信息.这里只对重要的做说明:Repository Type 值为Relaese时.表示此宿主仓库是发布版.值为Snapshot时.表示此宿主仓库为快照版.Deployment用来配置此仓库的部署策略.选项有禁止部署(

maven+Nexus搭建本地私服仓库

maven 是基于项目对象模型(Project Object Model, POM),通过一小段描述信息来管理项目的构建,报告,文档的软件项目管理工具. 目前,绝大多数开发人员都把 Ant 当作 java编程项目的标准构建工具.但是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要.通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者.版本或站点主页). Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理

Maven之——Nexus仓库与构件

Maven之--Nexus仓库与构件 1.    Nexus的索引与构件搜索 用户可以根据构件名称.GVA来在Nexus中搜索所需构件.但是前提是被搜索的仓库开启索引.比如中央仓库.默认中央仓库是关闭自动下载远程索引的.如下图.开启下载中央仓库远程索引: 可以在ScheduledTasks中观察系统的调度任务.也可以在这里配置系统的调度任务. 2.    配置Maven从Nexus下载构件 Maven私服搭建好之后.需要修改配置文件.使用Nexus私服.具体目标是.所有构件和插件的请求都转向Ne

Maven详解之仓库------本地仓库、远程仓库

在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径, 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org.testng --->o

Maven学习笔记(五):仓库

何为Maven仓库: 在Maven世界中,任何一个依赖.插件或者项目构建的输出,都可以称为构件.例如,依赖log4j-1.2.15.jar是一个构件,插件maven-compiler-plugin-2.0.2.jar是一个构件.任何一个构件都有一组坐标唯一标识. 得益于坐标机制,任何Maven项目使用任何一个构件的方式都是完全相同的.在此基础上,Maven可以在某个位置统一存储所有Maven项目共享的构件,这个统一的位置就是仓库.实际的Maven项目将不再各自存储其他依赖文件,它们只需要声明这些

Maven笔记(二)仓库

1.仓库布局 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这就是Maven的仓库布局方式 路径与坐标的对应关系为:groupId/artifactId/version/artifactId-version-classifier.packaging.其中groupId是以句点进行分割的. 例如jersey-common-2.22.1.jar,其POM定义如下(版本继承了父POM文件) <parent> <groupId>org.glassfish.je

Maven具体解释之仓库------本地仓库、远程仓库

在Maven中,不论什么一个依赖.插件或者项目构建的输出.都能够称之为构件. Maven在某个统一的位置存储全部项目的共享的构件.这个统一的位置.我们就称之为仓库.(仓库就是存放依赖和插件的地方) 不论什么的构件都有唯一的坐标,Maven依据这个坐标定义了构件在仓库中的唯一存储路径, 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符.就是将  "."  转换成 "/" ; example: org.testng ---&

maven自定义jar到本地仓库

Apache Maven为项目构建提供了绝佳的解决方案,其本地仓库中缓存了远程代理仓库或中央仓库中的资源,从而提高网络资源使用效率,很好很强大!  但是并非所有资源都可以根据GroupId.ArtifactId和Version信息从中央或代理仓库中获取.例如Oracle数据库的驱动程序,由于版权的原因,任何组织提供的公网Maven仓库都不可能提供该JAR包资源.而这时如果我们的项目使用Maven进行构建,就可以选择将Oracle的驱动程序JAR包作为Maven构件安装到本地仓库中供开发使用.