Maven 私服:基于 Nexus 的私有仓库搭建与使用指南
在团队开发中,Maven 私服是提升依赖管理效率的核心工具。它不仅能缓存中央仓库的依赖,还能存储团队内部的私有构件(如自研 Jar 包),避免重复下载,加速构建过程。本文将详细介绍如何使用 Nexus 搭建 Maven 私服,以及如何配置项目与私服交互。
什么是 Maven 私服?
Maven 私服是部署在本地网络中的私有仓库管理器,主要作用包括:
- 缓存公共仓库:代理 Maven 中央仓库、阿里云仓库等,减少外部网络依赖。
- 存储私有构件:团队内部开发的组件(如工具类 Jar 包)可部署到私服,供其他项目依赖。
- 版本管控:区分快照版(Snapshot)和发布版(Release)构件,规范版本管理。
- 权限控制:限制谁能上传 / 下载构件,保障代码安全。
最常用的私服工具是 Nexus Repository Manager,本文以 Nexus 为例讲解。
Nexus 仓库类型与内置仓库
Nexus 提供四种仓库类型,各司其职:

| 仓库类型 | 作用 | 典型场景 |
|---|---|---|
group(仓库组) |
聚合多个仓库,提供统一访问入口 | 项目通过一个 URL 访问多个仓库(如同时访问中央仓库和私有仓库) |
hosted(宿主仓库) |
存储本地私有构件 | 部署团队自研的 Release 版或 Snapshot 版构件 |
proxy(代理仓库) |
代理远程公共仓库,缓存下载的构件 | 代理 Maven 中央仓库、阿里云仓库等 |
virtual(虚拟仓库) |
兼容 Maven 1 等旧版本仓库(极少使用) | 适配 legacy 系统 |
Nexus 内置仓库(默认)
安装 Nexus 后,默认包含以下常用仓库:
| 仓库名称 | 类型 | 作用 |
|---|---|---|
Maven Central |
proxy | 代理 Maven 中央仓库(https://repo1.maven.org/maven2/),仅缓存 Release 版 |
Releases |
hosted | 存储团队内部的 Release 版构件(稳定版本,不可重复部署) |
Snapshots |
hosted | 存储团队内部的 Snapshot 版构件(开发中版本,可重复部署) |
3rd party |
hosted | 存储无法从公共仓库获取的第三方构件(如非开源 SDK) |
Public Repositories |
group | 聚合所有 Release 策略的仓库(如 Maven Central、Releases、3rd party),提供统一访问 URL |
Nexus 安装与初始化
安装 Nexus
- 下载:从 Nexus 官网 下载最新版本(推荐使用 OSS 开源版)。
- 启动:
- 解压后进入
bin目录,执行nexus.exe /run(Windows)或./nexus run(Linux/Mac)。 - 访问
http://localhost:8081,默认端口可在etc/nexus-default.properties中修改。
- 解压后进入
首次登录
- 点击右上角 Sign in,默认用户名
admin。 - 密码存储在
sonatype-work/nexus3/admin.password文件中,登录后需修改密码。
配置 Nexus 仓库(关键步骤)
开启远程索引(可选)
索引用于快速搜索仓库中的构件: