搭建自己的 Maven 私服(私有仓库)主要有几种方式,最常用的是使用 Nexus Repository Manager 或 Apache Archiva 。下面我给你整理一个详细步骤指南,以 Nexus OSS 为例,因为它是目前最流行、社区支持最好的方案。
一、准备工作
-
服务器环境
-
可以是本地机器,也可以是云服务器。
-
推荐内存 2GB 以上,磁盘空间根据存储需求而定。
-
安装 Java 11+(Nexus 3 需要 Java 11)。
-
-
下载 Nexus
-
下载最新的 OSS 版本压缩包(tar.gz 或 zip)。
-
解压安装
tar -zxvf nexus-3.x.x-xx-unix.tar.gz mv nexus-3.x.x-xx /opt/nexus cd /opt/nexus
二、配置 Nexus
-
创建运行用户
useradd nexus chown -R nexus:nexus /opt/nexus /opt/sonatype-work
-
修改启动用户
编辑
/opt/nexus/bin/nexus.rc
:run_as_user="nexus"
-
启动 Nexus
cd /opt/nexus/bin ./nexus start ./nexus status # 查看状态
-
默认运行在 http://localhost:8081
-
初始管理员密码:
/opt/sonatype-work/nexus3/admin.password
-
三、创建 Maven 仓库
-
登录 Nexus Web UI
- 默认管理员:admin / admin.password
-
创建仓库
-
进入 "Settings" → "Repositories" → "Create repository"
-
选择 maven2 (hosted) → 选择 Release 或 Snapshot
-
设置 Name ,如
maven-releases
或maven-snapshots
-
保存
-
-
创建组仓库(可选)
-
可以将多个 hosted 仓库合并到组仓库,统一访问。
-
创建 maven2 (group),添加你之前创建的仓库。
-
四、配置 Maven 使用私服
编辑本地 Maven 的 settings.xml
(通常在 ~/.m2/settings.xml
):
<settings>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://your-server:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
</settings>
-
mirrorOf
可以设置*
表示替代所有仓库。 -
url
使用你的 Nexus 仓库地址。 -
servers
配置认证信息,用于上传 artifact。
五、上传 Maven Artifact
-
使用 Maven deploy 插件
<distributionManagement> <repository> <id>nexus</id> <url>http://your-server:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus</id> <url>http://your-server:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
-
执行上传
mvn clean deploy
- Artifact 会上传到私服的指定仓库。
六、优化与安全
-
绑定域名和 HTTPS
-
配置反向代理 Nginx 或 Apache。
-
使用 Let's Encrypt 免费 SSL。
-
-
权限管理
- 创建不同用户和角色,限制不同项目访问权限。
-
定期备份
- Nexus 可以直接备份仓库数据目录。
💡 小提示:
-
对于企业内部项目,建议至少创建一个 release 仓库和一个 snapshot 仓库。
-
也可以搭建 Artifactory OSS,功能类似,但 Nexus 社区版已经足够大多数需求。