Bootstrap

Maven系列(一) — Nexus 下载及配置

一、概述

搭建 Maven 仓库前,电脑首先需要配置 JDK 环境,这部分请自行百度。

Nexus 是 Maven 仓库管理器,如果我们使用 Maven,可以从 Maven 中央仓库下载所需要的构件(artifact),但这会受到 Maven 中央仓库是影响 (诸如:带宽),因此我们可以在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。

此外,Nexus 提供了强大的仓库管理功能,构件搜索功能,且占用内存少,因此成为最流行的Maven仓库管理器。

本文以 Window 版本为例。


关联文章:

  1. Maven系列(一) — Nexus 下载及配置
  2. Maven系列(二) — 发布项目到 Maven 仓库

二、下载

Nexus官网:https://www.sonatype.com/download-oss-sonatype

下载方法有如下两种:

1. 下载方法1

步骤1: 进入官网,输入邮箱 和 确认协议,然后点击 DownLoad 进入下载页。
在这里插入图片描述

步骤2:

在这里插入图片描述
当然这里可能存在无法下载的情况。


2. 下载方法2

步骤1: 在首页时,选择 Resource -> Documentation
在这里插入图片描述

步骤2: 进入 Documentation 页面后,在 Repository Manager 中任选其中一个版本,这里我选择 2.X 版本。

在这里插入图片描述

步骤3: 进入 Nexus3.X 的使用文档页面,然后点击左侧的 Download 进入下载页面。
在这里插入图片描述

步骤4: 选择要下载的版本,可以复制链接在迅雷下载,下载速度快。
在这里插入图片描述


三、Nexus 安装与环境配置

  1. 步骤1: 压缩包解压
    下载下来的是一个 Zip 压缩包,将压缩包放到任意目录进行解压,可以看到会有两个目录:nexus-XXX(版本号)sonatype-work
    在这里插入图片描述

  2. 步骤2: 配置环境变量
    进入 Window 的环境变量配置中心配置 系统变量, 而不是用户变量。配置 NEXUS_HOME 环境变量,并将该变量指定到 Path 路径中。
    在这里插入图片描述
    在这里插入图片描述

  3. 步骤3: 运行 Nexus
    使用管理员权限运行 CMD,输入 Nexus start 命令启动 Nexus。当出现下图所示时,代表 Nexus 启动成功,可以在浏览器上输入 127.0.0.1:8081/nexus 或者 http://localhost:8081/nexus 进入管理页面。
    在这里插入图片描述
    关闭 Nexus,可以使用 Nexus stop 命令。
    在这里插入图片描述

  4. 步骤4: 登录系统
    进入 127.0.0.1:8081/nexus 页面后,点击右上角的 Sign in 登录,输入用户名和密码。
    2.x 版本: 用户名为 admin,密码为 admin123
    3.x 版本: 用户名为 admin,密码在解压缩包中的 sonatype-work(文件夹) -> nexus3(文件夹 -> admin.password(文件) 中。
    在这里插入图片描述


四、Nexus 初始化配置

关于 Nexus 配置主要了解两方面:

  1. 仓库的配置。
  2. 权限的管理。

1. 仓库的配置

在这里插入图片描述

上图中给出的几个默认仓库:

  1. Public Repositories: 仓库组,将所有策略为Release的仓库聚合并通过一致的地址提供服务。
  2. 3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
  3. Apache Snapshots: 策略为Snapshots的代理仓库,用来代理Apache Maven仓库的快照版本构件。
  4. Central: 该仓库代理Maven的中央仓库,策略为Release,只会下载和缓存中央仓库中的发布版本构件。
  5. Central M1 shadow: maven1格式的虚拟类型仓库。
  6. Release: 策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
  7. Snapshots: 策略为Snapshots的宿主类型仓库,用来部署组织内部的快照版本构件。

仓库的配置参数:

  1. 仓库的 Type 有四种类型:group (仓库组)hosted (宿主)proxy (代理)virtual (虚拟)
  2. 仓库的 Format 有两种类型:Maven1Maven2
  3. 仓库的 Policy (策略) 有两种类型:发布(Release)版本快照(Snapshot)版本

说明: group (仓库组) 不存放数据,仅作为多个仓库的聚合,如下图所示。
在这里插入图片描述


2. 仓库的配置

Nexus 作为 Maven 私服,当然不允许其他人随意往私仓内提交文件,因此就存在权限管理的配置。

权限管理:

  1. Role:根据功能的维度定义的权限。
  2. User:定义用户账户信息。

说明:
提供给用户使用的是 User 角色(账号、密码),而 User 角色默认是没有权限的,当需要某个权限时,只需要添加权限对应的 Role 即可。

如下图所示,自定义 Elson 的 User 角色,该角色配置了 发布权限和所有仓库仅读的权限。

在这里插入图片描述


到这里, Nexus 的配置就完成了。

;