一、Nexus Repository Manager(推荐方案)
1. Docker快速部署
bash
# 拉取Nexus3镜像
docker pull sonatype/nexus3
# 启动容器(端口映射为8081)
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
# 查看启动日志
docker logs -f nexus
2. 初始配置
-
访问管理界面 :
打开浏览器访问
http://localhost:8081
,点击右上角 Sign in。 -
获取默认密码 :
进入Nexus容器查找初始密码:
bashdocker exec -it nexus sh cat /nexus-data/admin.password
输入密码后,按提示修改为自定义密码。
-
创建Maven仓库:
- 点击 Settings → Repositories → Create Repository。
- 选择 Maven2 (hosted) 类型,配置:
- Name :
maven-releases
(发布库)或maven-snapshots
(快照库) - Version Policy :
Release
或Snapshot
- Deployment Policy :
Allow Redeploy
(允许重复部署)
- Name :
3. Maven集成配置
-
修改
settings.xml
(全局配置):xml<settings> <servers> <server> <id>nexus</id> <username>admin</username> <password>自定义密码</password> </server> </servers> <mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/repository/maven-public/</url> </mirror> </mirrors> </settings>
-
项目
pom.xml
配置(发布到Nexus):xml<distributionManagement> <repository> <id>nexus</id> <url>http://localhost:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus</id> <url>http://localhost:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
4. 部署与验证
-
部署构件到Nexus :
bashmvn clean deploy
-
验证仓库内容 :
访问http://localhost:8081/#browse/browse:maven-public
,确认构件已上传。
二、Apache Archiva(轻量级方案)
1. 手动安装
bash
# 下载Archiva
wget https://archive.apache.org/dist/archiva/2.2.9/binaries/apache-archiva-2.2.9-bin.zip
unzip archiva-2.2.10-standalone.zip
cd archiva-2.2.10/bin
# 启动服务(调试模式)
./archiva-debug.sh run
2. 访问管理界面
- 打开
http://localhost:8080/archiva
,默认账号admin
/admin
。 - 创建Maven仓库(hosted类型),配置代理仓库(如阿里云Maven中央仓库)。
3. Maven集成
-
修改
settings.xml
:xml<mirrors> <mirror> <id>archiva</id> <url>http://localhost:8080/repository/internal/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors>
三、手动搭建(Nginx+文件系统)
1. 创建本地仓库目录
bash
mkdir -p /opt/maven-repo
chmod -R 755 /opt/maven-repo
2. Nginx配置
nginx
server {
listen 80;
server_name localhost;
location / {
root /opt/maven-repo;
autoindex on; # 启用目录列表
}
}
3. Maven配置
-
修改
settings.xml
:xml<settings> <localRepository>/opt/maven-repo</localRepository> <mirrors> <mirror> <id>local-repo</id> <url>http://localhost/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> </settings>
四、方案对比与推荐
方案 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
Nexus | 企业级/团队级私有仓库 | 功能全面,支持代理、权限管理、CI/CD集成 | 资源占用较高,学习成本中等 |
Archiva | 小型团队/个人开发者 | 轻量级,配置简单 | 社区活跃度低,扩展性有限 |
手动搭建 | 临时测试/极简需求 | 零成本,快速上手 | 缺乏高级功能(权限、缓存加速) |
最终推荐 :
优先选择 Nexus Repository Manager,通过Docker部署实现开箱即用,兼顾企业级功能与易用性。若资源有限,可尝试手动搭建方案作为临时解决方案。
