使用Nexus搭建Maven本地倉庫

sinodzh發表於2016-03-24

閱讀目錄

本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。

文章是哥(mephisto)寫的,SourceLink

 

     在工作中可能存在有些開發機器不能上網,大量的機器獲取jar包會導致公司網路很慢,還有時候公司會自己釋出自己的專案版本,其他的專案可能會依賴引用到,所以就需要用到Maven的本地倉庫。

     下面就這個構建本地Maven倉庫進行闡述。

Nexus

一:介紹

  Nexus是Maven的倉庫管理器,用來搭建一個本地倉庫伺服器,這樣做的好處便於管理,節約網路資源, 速度快,可以通過SNAPSHOT版本控制,開進行模組間的高效依賴開發。

二:下載

  我們從http://nexus.sonatype.org/downloads/ 來獲取最新版本。這裡使用的是nexus-2.12.0-01-bundle.zip。

三:解壓

  解壓到本地後,目錄結構。

  在bin裡我們可以看到nexus.bat。到時候我們可以通過這個命令來安裝解除安裝,啟動停止nexus服務。

四:配置環境變數

  由於是用java開發的。所以需要安裝jdk,並配置好java的環境變數,這裡就不表了。

  新建環境變數Nexus

  值為解壓的目錄 F:\nexus-2.12.0-01\ 

  path中加入;%Nexus%\bin

  可以看到

   這樣即可。從圖中我們可以看到命令:start,stop等。

五:安裝服務,啟動服務

  我們先安裝服務。

 nexus.bat install

  這樣就可以安裝了,提示安裝好後。我們可以啟動服務。

nexus.bat start

  提示成功後我們可以輸入127.0.0.1:8081/nexus可以訪問到。

六:使用

  右上角有個Log in。點選這個可以登入。使用者名稱是admin 密碼預設的是 admin123

  登入後,點選左邊Views/Repositores下的Repositories

 

  hosted:本地倉庫,通常我們會部署自己的構件到這一型別的倉庫。比如公司的第二方庫。 
  proxy:代理倉庫,它們被用來代理遠端的公共倉庫,如maven中央倉庫。 
  group:倉庫組,用來合併多個hosted/proxy倉庫,當你的專案希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。

  Central:是Maven的中央倉庫,我們這裡就那這個舉例。

  選擇倉庫的型別

  Repository Policy 是Release 還是Snapshot

  下載遠端索引檔案

  點選Central這個倉庫,然後點選Configration。在Download Remote Indexes改成True儲存即可。

  由於索引比較大,所以得過段時間才能下載完畢。

  Routing選項可以看到當前倉庫與遠端倉庫的狀態。並且制定更新頻率。

  將設定好的倉庫放進倉庫組裡。

  點選Public Repositories->Configuration

  將Central放到左邊即可。

  點選Browse Index我們就可以看到很多倉庫的資源了。

  配置Maven,開啟\apache-maven-3.3.3\conf\settings.xml配置檔案。

  在<mirror>節點配置如下即可

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     | -->
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://127.0.0.0:8081/nexus/content/groups/public/</url>
    </mirror>
    
  </mirrors>

  我們在Elipse裡就可以使用這個配置到的本地倉庫了。

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

  到此,本章節的內容講述完畢。

 

本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。

文章是哥(mephisto)寫的,SourceLink

相關文章