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 的配置就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章