Nexus 搭建 Maven 私服
前言
之前对 Maven 依赖的 jar 包的管理都是直接备份本地的缓存仓库,但是日渐发现这种方式即便是对个人来说也存在着很大的局限性:
- 难以在不同的操作系统间进行共享本地缓存仓库,每次都要重新修改 settings.xml 文件。
折腾本地共享缓存仓库的根本原因是:忍不了 Win 又离不开 Win。就比如本教主好不容易折腾好的 Arch 却因为疫情上网课的需要又重新换到 Win, 真想把那些。。。。。。
- 即便本地缓存仓库中的 jar 包树算是结构了,但是总觉得不太相信这种管理方式。
这算是强迫症的范畴。。。。。。
- 私服的搭建终究是必要的,总不能因为现在暂时用不到就一直不了解一下吧。
欠下的债,终究是要还的。也许趁着年轻还可以这儿感兴趣一下那儿感兴趣一下,渐渐的浮累了其实沉下来也挺好的。
虽然究其原因还是一没钱买Mac,二没方便的网络允许,但终归到底还是要试一下的嘛。希望搭建的私服满足如下需求:
- 本地私服的数据持久化
- 本地私服服务停止时代理阿里云仓库
步骤
搭建服务
首先启动一个 nexus3 的 Docker 容器,以 docker-compose 的形式启动。
version: "3.7"
services:
nexus3:
image: sonatype/nexus3
container_name: nexus3
privileged: true
ports:
- 8081:8081
volumes:
- /e/docker/nexus3-8081/nexus-data/:/nexus-data/
进入到 docker-compose 所在的路径下启动 nexus3。
docker-compose -f ./docker-compose-app.yaml up -d
访问 localhost:8081并更改密码。
配置阿里云代理
创建代理仓库:
设置代理仓库要代理的路径:
在最下方保存。
设置 public 的组成员排序
在最下方保存。
设置本地缓存仓库的 settings.xml
配置仓库为镜像:
由于配置多个镜像时,Maven 只会使用一个第一个镜像,当且仅当第一个镜像无法连接时才使用第二个镜像。所以将私服放在最上面。
- 如果 nexus 服务正常,nexus 将代理阿里云的镜像,若找不到则从 hosted 中查找。
- 如果 nexus 服务未启动,Mavne 将使用阿里云的镜像。
在 IDEA 中发布 jar 包到私服
在 nexus 中查看: