【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:宿主仓库,用于存储开发中的快照版本包,不是发布版本
相关推荐
nice_lcj52018 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
秋天的怀念_David19 小时前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
灿飞19 小时前
Kotlin与Java虚拟机八:控制流与 when:卫语句、上下文相关解析与穷尽性
java·kotlin
文丑颜不良啊19 小时前
LeetCode2021~2040题目解析
java·leetcode
bksczm20 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
liangbo720 小时前
Spring系列03:Bean 的三种注册方式
java·spring
余槐i20 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
SL_staff20 小时前
制造业订单交付总在最后一刻爆雷?用结构化计划模板打通跨系统协同断点
java·开源·全栈
做科研的周师兄21 小时前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言
有点小困97721 小时前
Spring Boot 异步任务 ClassLoader 踩坑实录:ClassNotFoundException 的诡异真相
java