为什么自建私服
当团队规模增大,频繁依赖外部 Maven 中央仓库会导致构建迟缓。搭建 Nexus 私服能够:
- 统一缓存依赖,减少开发者本地下载时间。
- 对内部制品做版本管控与权限隔离。
- 支持代理国内镜像,规避网络波动。
安装 Nexus 3
- 下载 Nexus 3.7 以上版本(需要 JDK 17)。
- 解压后重点关注两个目录:
nexus-3.77.1-01/ # 主程序
sonatype-work/nexus3/ # 数据与配置
核心命令:
./nexus start # 启动
./nexus stop # 停止
./nexus status # 查看状态
初始密码位于 sonatype-work/nexus3/admin.password,首次登录后系统会要求修改并删除该文件。
首次登录与端口设置
编辑 nexus-3.77.1-01/etc/nexus-default.properties 可以更改默认端口(示例使用 8090)。随后访问 http://localhost:8090,用 admin + 初始密码登陆后台。

配置代理与仓库
在 Repositories 模块中:
- 为
maven-central这类 Proxy 仓库改用阿里云镜像地址http://maven.aliyun.com/nexus/content/groups/public/。 - 新建一个
Hosted仓库(例如levon-release)存放内部制品。 - 新建一个
Group仓库(例如levon-public),将 Proxy 与 Hosted 仓库组合,统一对外提供地址。

配置 Maven 客户端
在 ~/.m2/settings.xml 中加入以下配置:
<settings>
<localRepository>/Users/leivik/Developtools/apache-maven-3.9.9/local_repository</localRepository>
<servers>
<server>
<id>levon</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>levon</id>
<mirrorOf>*</mirrorOf>
<name>levon-public</name>
<url>http://localhost:8090/repository/levon-public/</url>
</mirror>
</mirrors>
</settings>
其中:
localRepository指定 Maven 本地缓存路径。servers的id必须与仓库发布时使用的<distributionManagement>的id匹配。mirrors用于将所有依赖请求统一转发到 Nexus 私服。

使用建议
- 定期备份
sonatype-work目录,避免数据丢失。 - 为不同环境(开发、测试、生产)创建独立的 Hosted 仓库,借助角色权限控制发布范围。
- 配置邮件或 Webhook,监控仓库空间与磁盘使用率。
小结
Nexus 私服让团队拥有可控、快速的依赖分发渠道。按照以上步骤完成安装与配置后,新成员仅需更新 settings.xml 就能享受统一的制品服务。