- 一、介绍
- 支持仓库
- 仓库类型说明
- 二、安装
- 源码安装
- docker安装
- 三、maven镜像库
- 代理仓库配置
- 手动发布jar包
- 打包发布jar包
- 项目配置私有仓库
世界上第一个也是最值得信赖的二进制存储库
nexus有收费版和开源免费版,其中的Nexus Repository Manager OSS是开源免费的,其功能基本满足我们的需求,所以本次搭建采用该版本。
官网地址:https://www.sonatype.com/products/nexus-repository
下载地址:https://www.sonatype.com/thanks/repo-oss
文档地址:https://help.sonatype.com/repomanager3
- group:仓库聚合,默认是releases>snapshots>central,可以在仓库管理界面引入其他配置的库,并设置顺序
- hosted:私有仓库,存放自己开发的jar
- snapshots:本地项目的快照仓库
- releases: 本地项目发布的正式版本
- proxy:代理类型,可以配置aliyun的仓库
- central:中央仓库
- 查找nexus镜像 docker search nexus
- 获取官方最新版本镜像 docker pull sonatype/nexus3
- 创建存储卷 mkdir -p /docker/nexus/
- 存储卷权限 chmod 755 /docker/nexus/
- 启动容器 docker run -d --restart always --name nexus3 -p 8081:8081 -v /docker/nexus:/var/nexus-data sonatype/nexus3
- 访问服务 ip:端口
- 首次登录 重置admin密码
a. 进入容器 目录/nexus-data/admin.password 获取登录密码
b. docker exec -it nexus3 /bin/bash
c. cat /nexus-data/admin.password - 查看默认仓库 nexus
默认已建好4个库,简单解析下各个库的作用
maven-central 默认配好的中央仓库,指向https://repo1.maven.org/maven2/
maven-releases 一般用于自己存放自己开发项目的稳定版本,默认不能重复发布,即deploy,可以设置为允许重复deploy
maven-snapshots 一般用于存放自己开发项目的快照版本,默认允许重复发布
maven-public 组合库,一般是组合以上三种库,通常在项目中配置这个仓库
-
浏览器访问nexus仓库
-
登录管理账户
-
选择设置(登录管理用户才会出现)
-
选择创建仓库
-
选择仓库类型 maven 代理仓库
-
填写仓库信息 (以填写阿里云代理仓库为例)
-
填写仓库名称
-
填写代理服务地址 http://maven.aliyun.com/nexus/content/groups/public
-
选择存储 如果没有特殊需要 默认就可以
-
创建仓库
-
仓库列表就可以查看到代理仓库了
-
调整 maven聚合仓库配置 maven-public仓库配置
-
进入修改页面 并 滑动到底部
-
将代理仓库移动到右侧 并调整顺序
-
保存配置
-
浏览器访问nexus仓库
-
登录管理账户
-
选择上传
-
选择上传仓库
-
上传jar包并填写maven信息
-
确认上传
- 修改maven配置文件 setting.xml 增加配置项
****-nexus-releases **** fegvis-d****vpa1 pbkj-nexus-snapshots **** fegvis-d****vpa1
- 修maven项目主 pom.xml
****-nexus-releases https://maven.****.com/repository/maven-releases/ ****-nexus-snapshots https://maven.****.com/repository/maven-snapshots/
-
编译器插件发布
-
命令发布
mvn deploy
注:releases为发布正式版 snapshots为发布快照版 版本号以-SNAPSHOT结尾为发布快照版本
项目配置私有仓库修改maven配置文件 setting.xml 增加配置项
****-nexus ****-nexus https://maven.****.com/repository/maven-public/ central
修maven项目主 pom.xml
public aliyun nexus http://maven.aliyun.com/nexus/content/groups/public/ true ****-nexus ****私有maven仓库 https://maven.****.com/repository/maven-public/ true true always



