【Maven】Nexus几个仓库的介绍

在 Nexus 仓库管理器中,maven-central、maven-public、maven-releases 和 maven-snapshots 是常用的 Maven 仓库类型。每个仓库都有其特定的用途和功能。以下是对这些仓库的详细介绍:

1. maven-central

  • 类型:代理仓库(Proxy Repository)
  • 用途:代理 Maven Central 仓库,这是一个全球性的公共仓库,包含了大量的开源库和框架。
  • 特点 :
    • 远程索引:Nexus 会定期从 Maven Central 仓库同步元数据和索引,以便快速查找和下载依赖。
    • 缓存:Nexus 会缓存从 Maven Central 下载的包,减少对外部网络的依赖,提高构建速度。
    • 只读 :不能向 maven-central 仓库上传包,只能从中下载。

2. maven-public

  • 类型:组仓库(Group Repository)
  • 用途:聚合多个实际的 Maven 仓库,提供一个统一的访问点。
  • 特点 :
    • 聚合 :maven-public 通常会包含 maven-central、maven-releases 和 maven-snapshots 等仓库,形成一个虚拟的仓库组。
    • 单一入口 :开发人员和构建工具只需要配置一个 maven-public 仓库的 URL,即可访问所有的 Maven 包。
    • 灵活配置:可以根据需要添加或移除组中的仓库。

3. maven-releases

  • 类型:宿主仓库(Hosted Repository)
  • 用途:用于存储正式发布的版本(release)包。
  • 特点 :
    • 发布版本:存储经过测试和验证的稳定版本。
    • 不可变:一旦发布,包的内容不能更改。
    • 部署 :开发人员和持续集成系统可以将发布版本的包部署到 maven-releases 仓库。

4. maven-snapshots

  • 类型:宿主仓库(Hosted Repository)
  • 用途:用于存储开发中的快照(snapshot)版本包。
  • 特点 :
    • 快照版本:存储开发过程中的中间版本,这些版本可能包含未完成的功能或修复。
    • 可变:快照版本的包内容可以随时更新。
    • 自动更新:Maven 会自动检查并下载最新的快照版本,确保开发环境始终使用最新的代码。
    • 部署 :开发人员和持续集成系统可以将快照版本的包部署到 maven-snapshots 仓库。

示例配置

假设你已经安装并配置了 Nexus 仓库管理器,以下是如何创建和配置这些仓库的示例步骤:

1. 创建 maven-central 代理仓库
  1. 登录 Nexus 管理界面。
  2. 导航到 Repositories 页面。
  3. 点击 Create repository 按钮。
  4. 选择 proxy 类型。
  5. 在 Format 下拉菜单中选择 maven2。
  6. 填写仓库名称,例如 maven-central。
  7. 在 Remote storage location 中填写 Maven Central 的 URL,例如 https://repo1.maven.org/maven2/。
  8. 点击 Create repository 完成创建。
2. 创建 maven-releases 宿主仓库
  1. 登录 Nexus 管理界面。
  2. 导航到 Repositories 页面。
  3. 点击 Create repository 按钮。
  4. 选择 hosted 类型。
  5. 在 Format 下拉菜单中选择 maven2。
  6. 填写仓库名称,例如 maven-releases。
  7. 点击 Create repository 完成创建。
3. 创建 maven-snapshots 宿主仓库
  1. 登录 Nexus 管理界面。
  2. 导航到 Repositories 页面。
  3. 点击 Create repository 按钮。
  4. 选择 hosted 类型。
  5. 在 Format 下拉菜单中选择 maven2。
  6. 填写仓库名称,例如 maven-snapshots。
  7. 勾选 Allow redeploy 选项,允许重新部署快照版本。
  8. 点击 Create repository 完成创建。
4. 创建 maven-public 组仓库
  1. 登录 Nexus 管理界面。
  2. 导航到 Repositories 页面。
  3. 点击 Create repository 按钮。
  4. 选择 group 类型。
  5. 在 Format 下拉菜单中选择 maven2。
  6. 填写仓库名称,例如 maven-public。
  7. 在 Group 部分,选择要包含在组中的仓库,例如 maven-central、maven-releases 和 maven-snapshots。
  8. 点击 Create repository 完成创建。

总结

  • maven-central:代理 Maven Central 仓库,用于下载公共的开源库。
  • maven-public:组仓库,聚合多个实际的仓库,提供一个统一的访问点。
  • maven-releases:宿主仓库,用于存储正式发布的版本包。
  • maven-snapshots:宿主仓库,用于存储开发中的快照版本包,不是发布版本
相关推荐
老板一杯拿铁1 分钟前
Java 八股文面试详解:从基础到进阶的全面梳理
java·面试
const_qiu2 分钟前
第 2.5 章 2.5.4-2.5.5:JWT 双 Token 与声明式权限守卫
java·人工智能
bug菌4 分钟前
一个周末就想把短链服务推到 10 万 QPS,真能靠加 Redis 做到吗?
java·redis·go
撸串-研究生4 分钟前
springboot福利院管理系统73979
java·spring boot·后端·福利院管理系统
記億揺晃着的那天9 分钟前
Amazon Ads API 自建 SDK 架构升级实战:从手工生成 JAR 到可追溯构建体系
maven·架构设计·sdk开发·openapi·amazon ads api
不得了zz1 小时前
04-Spring AI Alibaba ReactAgent 生产级实践:工具调用、结构化输出、HITL 与上下文管理
java·ai编程·springaialibaba
猿究院_夏燊1 小时前
SpringMVC 到底是怎么干活的?
java·网络·职场和发展
鶴哥只手遮天1 小时前
Spring Framework 7.0.9 深度剖析-05-配置元数据解析:XML、注解与 JavaConfig
java·后端·开源
NGINX开源社区1 小时前
与我们交流:NGINX Gateway Fabric 与 NGINX Ingress Controller 社区会议
java·服务器·前端
鶴哥只手遮天1 小时前
Spring Framework 7.0.9 深度剖析-16-异步与调度
java·后端·开源