目录
一、Nexus和Maven的关系
Maven是一个项目管理工具,主要用于构件管理和依赖管理。Maven通过仓库来统一管理各种构件,仓库分为本地仓库和远程仓库。本地仓库是用户在settings.xml中配置的本地仓库地址,而远程仓库则包括中央仓库和其他外部仓库。Maven在处理依赖时,会首先查看本地仓库,如果本地仓库中没有所需的构件,则会去远程仓库查找并下载到本地仓库中。
Nexus是一个强大的Maven仓库管理器,通常被称为Maven的私服。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这种方式不仅节省带宽和时间,还能降低中央仓库的负荷。
二、Nexus部署和配置
1、Nexus部署
#拉取镜像
docker pull sonatype/nexus3
#持久化目录
mkdir -p /data/nexus/data
chmod 777 -R /data/nexus/data
#启动服务
docker run -d --name nexus3 -p 8081:8081 --restart always -v /data/nexus/data:/nexus-data sonatype/nexus3
#查看日志
docker logs -f nexus3
打开浏览器,访问 http://ip:8081/
查看admin账户登录密码
cat /data/nexus/data/admin.password
2、Nexus配置
3.1、存储管理
在创建仓库之前,需要先指定存储目录,便于统一管理,就需要创建Blob Store,不创建则使用default存储目录。本文使用default存储目录。
3.2、Nexus仓库说明
默认仓库说明
- maven-central:中央仓库,用于从公共的开源库下载
- maven-releases:发布仓库,用于保存开发的稳定发行版本
- maven-snapshots:快照仓库,用于保存开发过程中的不稳定版本
- maven-public:组合仓库,组合多个仓库对外提供服务
- maven-thirdparty:第三方仓库,用于存放不能从中央仓库获取的或者不开源的
3.3、修改中央仓库
由于网络限制,需要将默认的中央仓库地址改为国内的中央仓库地址。
默认的中央仓库地址: