--------------------------------------------------------------------------------------------------------------------------------
前言
---------------------------------------------------------------------------------------------------------------------------------
Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部倉庫的維護和外部倉庫的訪問。利用Nexus你可以只在一個地方就能夠完全控制訪問 和部署在你所維護倉庫中的每個Artifact。Nexus是一套“開箱即用”的系統不需要數據庫,它使用文件系統加Lucene來組織數據。Nexus使用ExtJS來開發界面,利用Restlet來提供完整的REST APIs,通過m2eclipse與Eclipse集成使用。Nexus支持WebDAV與LDAP安全身 份認證。
--------------------------------------------------------------------------------------------------------------------------------
nexus的下載和安裝
---------------------------------------------------------------------------------------------------------------------------------
nexus的安裝及配置請參考 nexus的下載及安裝 圖文教程(親測成功)
目前的最新版本爲nexus- 2.11.4-01 我用的就是這個
首先介紹一下 nexus有兩種工作方式
第一種:一種是內嵌Jetty的bundle,只要你有JRE就能直接運行。
詳情請參考:nexus的下載及安裝 圖文教程(親測成功)
第二種:方式是WAR,你只須簡單的將其發佈到web容器中即可使用。
詳情請參考:nexus的下載及安裝 圖文教程(親測成功)
--------------------------------------------------------------------------------------------------------------------------------
nexus的介紹及使用
---------------------------------------------------------------------------------------------------------------------------------
以下我們會依據以下幾步來具體介紹nexus的使用
- 首先介紹nexus
- nexus的簡單配置
- 添加宿主倉庫
- 添加倉庫組
- 如何搜索依賴
- 如何上傳依賴到nexus
--------------------------------------------------------------------------------------------------------------------------------
1: 首先介紹nexus
---------------------------------------------------------------------------------------------------------------------------------
nexus的倉庫類型分爲以下四種:
- hosted:宿主 本地倉庫。
- group: 倉庫組
- proxy:代理
- virtual:虛擬
以下是這幾種倉庫的具體應用場景:
3rd party: 無法從公共倉庫獲得的第三方發佈版本的構件倉庫
Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫
Central: 用來代理maven中央倉庫中發佈版本構件的倉庫
Central M1 shadow: 用於提供中央倉庫中M1格式的發佈版本的構件鏡像倉庫
Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫
Releases: 用來部署管理內部的發佈版本構件的宿主類型倉庫
--------------------------------------------------------------------------------------------------------------------------------
2:nexus的簡單配置
---------------------------------------------------------------------------------------------------------------------------------
開啓遠程索引
然後在Apache Snapshots,Codehaus Snapshots和Maven Central這三個倉庫上分別右鍵,選擇Repari Index,這樣Nexus就會去下載遠程的索引文件。
這樣設置以後, Nexus會自動從遠程中央倉庫下載索引文件,
--------------------------------------------------------------------------------------------------------------------------------
3:添加宿主倉庫
---------------------------------------------------------------------------------------------------------------------------------
新 建公司的內部倉庫,步驟爲Repositories –> Add –> Hosted Repository,在頁面的下半部分輸入框
中填入Repository ID和Repository Name即可,比如分別填入zfy 和 zfy repostiory,另外把
Deployment Policy設置爲Allow Redeploy,點擊save就創建完成了。
這裏我點擊添加宿主類型的倉庫,在倉庫列表的下方會出現新增倉庫的配置,如下所示:
點擊save按鈕後就會在倉庫列表中看到剛纔新增的倉庫。(添加代理和倉庫組的操作與上面類似,自己動手操作)
以下是代理倉庫
點擊菜單欄上的Add按鈕後選擇Proxy Repository,看到如下所示配置界面:
--------------------------------------------------------------------------------------------------------------------------------
4:添加倉庫組
---------------------------------------------------------------------------------------------------------------------------------
Nexus 中倉庫組的概念是Maven沒有的,在Maven看來,不管你是hosted也好,proxy也好,或者group也好,對我都是一樣的,我只管根據 groupId,artifactId,version等信息向你要構件。爲了方便Maven的配置,Nexus能夠將多個倉庫,hosted或者 proxy合併成一個group,這樣,Maven只需要依賴於一個group,便能使用所有該group包含的倉庫的內容。
neuxs- 1.9.2.3中默認自帶了一個名爲“Public Repositories”組,點擊該組可以對他保護的倉庫進行調整,把剛纔建立的公司內部倉庫zfy repostiory加入其中,這樣就不需要再在maven中明確指定內部倉庫 的地址了。同時創建一個Group ID爲public-snapshots、Group Name爲Public Snapshots Repositories的組,把Apache Snapshots、Codehaus Snapshots、Snapshots和zfy repostiory加入其中。
--------------------------------------------------------------------------------------------------------------------------------
5:如何搜索
---------------------------------------------------------------------------------------------------------------------------------
在開發過程中過程中,我們往往只記得某個構件的大致名字,這時我們可以通過nexus提供的構件搜索功能查詢該構件的完整配置信息(groupId,artifactId,version)
由於剛纔我們已經把索引下載了下來 那麼現在我們就可以根據索引來搜索我們所需要的依賴l
(具體操作看下圖)在關鍵字搜索的框中輸入要搜索的內容 例如 hibernate
--------------------------------------------------------------------------------------------------------------------------------
6:如何上傳依賴到nexus
---------------------------------------------------------------------------------------------------------------------------------
如果通過nexus搜不到某個的構件,那說明這個構件不在當前nexus所登記的倉庫中,
可能需要添加額外的代理倉庫或手工上傳某個構件。
好了 nexus 基本安裝配置完成
有問題發我郵箱 [email protected]
- (2015-11-07 10:34:59)
- (2015-11-06 13:39:10)