團隊開發現狀分析
(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私服的方式有很多,我們來介紹其中一種使用量比較大的實現方式:
Nexus
Sonatype公司的一款maven私服產品
將latest-win64.zip
解壓到一個空目錄下。
使用cmd進入到解壓目錄下的nexus-3.30.1-01\bin
,執行如下命令:
nexus.exe /run nexus
注意:啟動如果報如下錯誤的話可能是路徑含有中文,修改一下路徑即可
啟動時間稍微有點長,稍微等一下,看到如下內容,說明啟動成功。
存取地址為:
http://localhost:8081
使用者名稱為admin,密碼為路徑所在的檔案內容
輸入使用者名稱和密碼進行登入,登入成功後,出現如下頁面
點選下一步,需要重新輸入新密碼,這裡把密碼修改為admin
設定是否執行匿名存取
點選完成
至此私服就已經安裝成功。如果要想修改一些基礎設定資訊,可以使用:
修改基礎設定資訊
安裝路徑下etc目錄中nexus-default.properties檔案儲存有nexus基礎設定資訊,例如預設存取埠。
修改伺服器執行設定資訊
安裝路徑下bin目錄中nexus.vmoptions檔案儲存有nexus伺服器啟動對應的設定資訊,例如預設佔用記憶體空間。
私服資源操作流程分析:
(1)在沒有私服的情況下,我們自己建立的服務都是安裝在Maven的本地倉庫中
(2)私服中也有倉庫,我們要把自己的資源上傳到私服,最終也是放在私服的倉庫中
(3)其他人要想使用你所上傳的資源,就需要從私服的倉庫中獲取
(4)當我們要使用的資源不是自己寫的,是遠端中央倉庫有的第三方jar包,這個時候就需要從遠端中央倉庫下載,每個開發者都去遠端中央倉庫下速度比較慢(中央倉庫伺服器在國外)
(5)私服就再準備一個倉庫,用來專門儲存從遠端中央倉庫下載的第三方jar包,第一次存取沒有就會去遠端中央倉庫下載,下次再存取就直接走私服下載
(6)前面在介紹版本管理的時候提到過有SNAPSHOT
和RELEASE
,如果把這兩類的都放到同一個倉庫,比較混亂,所以私服就把這兩種jar包放入不同的倉庫
(7)上面我們已經介紹了有三種倉庫,一種是存放SNAPSHOT
的,一種是存放RELEASE
還有一種是存放從遠端倉庫下載的第三方jar包,那麼我們在獲取資源的時候要從哪個倉庫種獲取呢?
(8)為了方便獲取,我們將所有的倉庫編成一個組,我們只需要存取倉庫組去獲取資源。
所有私服倉庫總共分為三大類:
宿主倉庫hosted
專案小組內自己使用的
儲存無法從中央倉庫獲取的資源
自主研發
第三方非開源專案,比如Oracle,因為是付費產品,所以中央倉庫沒有
代理倉庫proxy
代理遠端倉庫,通過nexus存取其他公共倉庫,例如中央倉庫,或者阿里雲等私服倉庫
所有專案組(整個公司)公用同一個代理倉庫
倉庫組group
將若干個倉庫組成一個群組,簡化設定
倉庫組不能儲存資源,屬於設計型倉庫
每個專案會有一個倉庫組,專案小組內共用
本文來自部落格園,作者:|舊市拾荒|,轉載請註明原文連結:https://www.cnblogs.com/xiaoyh/p/16464319.html