Java開發學習(三十三)----Maven私服(一)私服簡介安裝與私服分類

2022-09-16 12:01:02

一、私服簡介

團隊開發現狀分析

(1)張三負責ssm_crm的開發,自己寫了一個ssm_pojo模組,要想使用直接將ssm_pojo安裝到本地倉庫即可

(2)李四負責ssm_order的開發,需要用到張三所寫的ssm_pojo模組,這個時候如何將張三寫的ssm_pojo模組交給李四呢?

(3)如果直接拷貝,那麼團隊之間的jar包管理會非常混亂而且容器出錯,這個時候就想能不能將寫好的專案上傳到中央倉庫,誰想用就直接聯網下載即可

(4)Maven的中央倉庫不允許私人上傳自己的jar包,那麼我們就得換種思路,自己搭建一個類似於中央倉庫的東西,把自己的內容上傳上去,其他人就可以從上面下載jar包使用

(5)這個類似於中央倉庫的東西就是我們接下來的私服

所以到這就有兩個概念,一個是私服,一個是中央倉庫

私服:公司內部搭建的用於儲存Maven資源的伺服器

遠端倉庫:Maven開發團隊維護的用於儲存Maven資源的伺服器

所以說:

  • 私服是一臺獨立的伺服器,用於解決團隊內部的資源共用與資源同步問題

搭建Maven私服的方式有很多,我們來介紹其中一種使用量比較大的實現方式:

二、私服安裝

步驟1:下載解壓

latest-win64.zip解壓到一個空目錄下。

步驟2:啟動Nexus

使用cmd進入到解壓目錄下的nexus-3.30.1-01\bin,執行如下命令:

nexus.exe /run nexus

注意:啟動如果報如下錯誤的話可能是路徑含有中文,修改一下路徑即可

啟動時間稍微有點長,稍微等一下,看到如下內容,說明啟動成功。

步驟3:瀏覽器存取

存取地址為:

http://localhost:8081

步驟4:首次登入重置密碼

使用者名稱為admin,密碼為路徑所在的檔案內容

輸入使用者名稱和密碼進行登入,登入成功後,出現如下頁面

點選下一步,需要重新輸入新密碼,這裡把密碼修改為admin

設定是否執行匿名存取

點選完成

至此私服就已經安裝成功。如果要想修改一些基礎設定資訊,可以使用:

  • 修改基礎設定資訊

    • 安裝路徑下etc目錄中nexus-default.properties檔案儲存有nexus基礎設定資訊,例如預設存取埠。

  • 修改伺服器執行設定資訊

    • 安裝路徑下bin目錄中nexus.vmoptions檔案儲存有nexus伺服器啟動對應的設定資訊,例如預設佔用記憶體空間。

三、私服倉庫分類

私服資源操作流程分析:

(1)在沒有私服的情況下,我們自己建立的服務都是安裝在Maven的本地倉庫中

(2)私服中也有倉庫,我們要把自己的資源上傳到私服,最終也是放在私服的倉庫中

(3)其他人要想使用你所上傳的資源,就需要從私服的倉庫中獲取

(4)當我們要使用的資源不是自己寫的,是遠端中央倉庫有的第三方jar包,這個時候就需要從遠端中央倉庫下載,每個開發者都去遠端中央倉庫下速度比較慢(中央倉庫伺服器在國外)

(5)私服就再準備一個倉庫,用來專門儲存從遠端中央倉庫下載的第三方jar包,第一次存取沒有就會去遠端中央倉庫下載,下次再存取就直接走私服下載

(6)前面在介紹版本管理的時候提到過有SNAPSHOTRELEASE,如果把這兩類的都放到同一個倉庫,比較混亂,所以私服就把這兩種jar包放入不同的倉庫

(7)上面我們已經介紹了有三種倉庫,一種是存放SNAPSHOT的,一種是存放RELEASE還有一種是存放從遠端倉庫下載的第三方jar包,那麼我們在獲取資源的時候要從哪個倉庫種獲取呢?

(8)為了方便獲取,我們將所有的倉庫編成一個組,我們只需要存取倉庫組去獲取資源。

所有私服倉庫總共分為三大類:

宿主倉庫hosted

  • 專案小組內自己使用的

  • 儲存無法從中央倉庫獲取的資源

    • 自主研發

    • 第三方非開源專案,比如Oracle,因為是付費產品,所以中央倉庫沒有

代理倉庫proxy

  • 代理遠端倉庫,通過nexus存取其他公共倉庫,例如中央倉庫,或者阿里雲等私服倉庫

  • 所有專案組(整個公司)公用同一個代理倉庫

倉庫組group

  • 將若干個倉庫組成一個群組,簡化設定

  • 倉庫組不能儲存資源,屬於設計型倉庫

  • 每個專案會有一個倉庫組,專案小組內共用