nexus的介紹及使用(圖文教程)澤0…



--------------------------------------------------------------------------------------------------------------------------------

 

            前言

---------------------------------------------------------------------------------------------------------------------------------



Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部倉庫的維護和外部倉庫的訪問。利用Nexus你可以只在一個地方就能夠完全控制訪問 和部署在你所維護倉庫中的每個Artifact。Nexus是一套“開箱即用”的系統不需要數據庫,它使用文件系統加Lucene來組織數據。Nexus使用ExtJS來開發界面,利用Restlet來提供完整的REST APIs,通過m2eclipse與Eclipse集成使用。Nexus支持WebDAV與LDAP安全身 份認證。


--------------------------------------------------------------------------------------------------------------------------------

 

      nexus的下載和安裝

---------------------------------------------------------------------------------------------------------------------------------




nexus下載地址爲http://www.sonatype.org/nexus/go

nexus的安裝及配置請參考   nexus的下載及安裝 圖文教程(親測成功)


目前的最新版本爲nexus- 2.11.4-01 我用的就是這個


首先介紹一下   nexus有兩種工作方式

第一種:一種是內嵌Jetty的bundle,只要你有JRE就能直接運行。

      詳情請參考:nexus的下載及安裝 圖文教程(親測成功)

  第二種:方式是WAR,你只須簡單的將其發佈到web容器中即可使用。

 

   詳情請參考:nexus的下載及安裝 圖文教程(親測成功)

--------------------------------------------------------------------------------------------------------------------------------

 

      nexus的介紹及使用

 

---------------------------------------------------------------------------------------------------------------------------------

以下我們會依據以下幾步來具體介紹nexus的使用


 

  1. 首先介紹nexus
  2. nexus的簡單配置
  3. 添加宿主倉庫
  4. 添加倉庫組
  5. 如何搜索依賴
  6. 如何上傳依賴到nexus

--------------------------------------------------------------------------------------------------------------------------------

 

     1: 首先介紹nexus

 

 

---------------------------------------------------------------------------------------------------------------------------------

nexus的倉庫類型分爲以下四種:

 

  •             hosted:宿主 本地倉庫。
  通常我們會部署自己的構件到這一類型的倉庫。比如公司/組織開發的項目

  •             group: 倉庫組
用來合併多個hosted/proxy倉庫,當你的項目希望在多個repository使用依賴項時,
無需引用多個倉庫了,只需要引用一個類型爲group的repository即可。

 


  •               proxy:代理
   它們被用來代理遠程的公共倉庫,如maven中央倉庫或一些第三方公共倉庫。



  •           virtual:虛擬
可以看到type中的倉庫類型

 

nexus的介紹及使用(圖文教程)澤0715新浪博客

以下是這幾種倉庫的具體應用場景:

 3rd party: 無法從公共倉庫獲得的第三方發佈版本的構件倉庫

                      Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫

                      Central: 用來代理maven中央倉庫中發佈版本構件的倉庫

                      Central M1 shadow: 用於提供中央倉庫中M1格式的發佈版本的構件鏡像倉庫

                      Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫

                      Releases: 用來部署管理內部的發佈版本構件的宿主類型倉庫

--------------------------------------------------------------------------------------------------------------------------------

 

    2:nexus的簡單配置

 

 

---------------------------------------------------------------------------------------------------------------------------------


 

開啓遠程索引

新搭建的neuxs環境只是一個空的倉庫,需要手動和遠程中心庫進行同步,nexus默認是關閉遠程索引
下載,最重要的一件事情就是開啓遠程索引下載。

操作:
點擊左邊Administration菜單下面的Repositories,找到右邊倉庫列表中的三個倉庫
Apache Snapshots,Codehaus Snapshots和Maven Central,
然後再沒有倉庫的configuration下把Download Remote Indexes修改爲true。如下圖
nexus的介紹及使用(圖文教程)澤0715新浪博客

然後在Apache Snapshots,Codehaus Snapshots和Maven Central這三個倉庫上分別右鍵,選擇Repari Index,這樣Nexus就會去下載遠程的索引文件。 
nexus的介紹及使用(圖文教程)澤0715新浪博客

 這樣設置以後, Nexus會自動從遠程中央倉庫下載索引文件,
點擊以後會看到一個任務在進行 (下載的時間比較長   文件較大  耐心等待)
nexus的介紹及使用(圖文教程)澤0715新浪博客

 爲了檢驗索引文件自動下載是否生效,可以卻換到Browse Index(這樣做的目的是爲了我們可以通過索引搜索到我們需要的依賴)
nexus的介紹及使用(圖文教程)澤0715新浪博客



--------------------------------------------------------------------------------------------------------------------------------

 

    3:添加宿主倉庫

 

 

---------------------------------------------------------------------------------------------------------------------------------

新 建公司的內部倉庫,步驟爲Repositories –> Add –> Hosted Repository,在頁面的下半部分輸入框

中填入Repository ID和Repository Name即可,比如分別填入zfy 和 zfy repostiory,另外把

Deployment Policy設置爲Allow Redeploy,點擊save就創建完成了。

這裏我點擊添加宿主類型的倉庫,在倉庫列表的下方會出現新增倉庫的配置,如下所示:

nexus的介紹及使用(圖文教程)澤0715新浪博客

點擊save按鈕後就會在倉庫列表中看到剛纔新增的倉庫。(添加代理和倉庫組的操作與上面類似,自己動手操作)

以下是代理倉庫

點擊菜單欄上的Add按鈕後選擇Proxy Repository,看到如下所示配置界面:

nexus的介紹及使用(圖文教程)澤0715新浪博客




--------------------------------------------------------------------------------------------------------------------------------

 

    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


nexus的介紹及使用(圖文教程)澤0715新浪博客




--------------------------------------------------------------------------------------------------------------------------------

 

    6:如何上傳依賴到nexus

 

 

---------------------------------------------------------------------------------------------------------------------------------

如果通過nexus搜不到某個的構件,那說明這個構件不在當前nexus所登記的倉庫中,

可能需要添加額外的代理倉庫或手工上傳某個構件。

nexus的介紹及使用(圖文教程)澤0715新浪博客



好了    nexus 基本安裝配置完成    


有問題發我郵箱   [email protected]


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