Nexus(maven私服)介紹、安裝及使用教程

1:Nexus(maven私服)作用

是種特殊的Maven倉庫一般用於公司,比如三十個員工開發一個項目,需要每個人都聯網去下載jar,每個人都很痛苦。此時公司可以搭建一個私服,讓其中一人去私服下載jar,這樣私服中就緩存了那些jar包,其他人在下載的時候就無需重新從遠程倉庫下載了,直接從私服緩存的地方拿下來即可。還有一種情況,當某個開發人員封裝好某個工具jar以後,可以直接上傳到私服,其餘的開發人員可以直接緩存下來用。

2:安裝

1:這是nexus的官網地址,https://www.sonatype.com/download-nexus-repo-oss?submissionGuid=e225567e-4323-4049-870c-478afc2a7bfe 。測試過了,表示根本無法下載,不知道是我網速原因還是因爲外網的關係,我也是在網上找別的兄弟上傳的資源:https://pan.baidu.com/s/1U-ehXu0YHGvsF3gbKBOrUg 提取碼:x2N9 。

2:下載到本地後,解壓後如圖:

根據自己的系統選擇相應的版本運行,運行install-nexus.bat 在系統中註冊服務,註冊後可以通過start-nexus.bat/stop-nexus.bat 開啓服務和關閉服務。也可以在系統服務中開啓關閉服務

 啓動成功後打開瀏覽器輸入:http://localhost:8081/nexus 默認賬號和密碼:用戶名:admin 密碼:admin123

    3:使用教程

1:如果是內網開發,那麼需要給nexus設置代理,在Administration-->Server中進行配置 :

:

2:如果可以訪問外網,跳過上面一步。下一步:配置repository 

3:nexus裏可以配置3種類型的倉庫,分別是proxy、hosted、group 

proxy是遠程倉庫的代理。比如說在nexus中配置了一個central repository的proxy,當用戶向這個proxy請求一個artifact,這個proxy就會先在本地查找,如果找不到的話,就會從遠程倉庫下載,然後返回給用戶,相當於起到一箇中轉的作用 。
hosted是宿主倉庫,用戶可以把自己的一些構件,deploy到hosted中,也可以手工上傳構件到hosted裏。比如說oracle的驅動程序,ojdbc6.jar,在central repository是獲取不到的,就需要手工上傳到hosted裏。
group是倉庫組,在maven裏沒有這個概念,是nexus特有的。目的是將上述多個倉庫聚合,對用戶暴露統一的地址,這樣用戶就不需要在pom中配置多個地址,只要統一配置group的地址就可以了 。

4:配置Central Repository的proxy

最關鍵的一個配置,可能就是Central Repository的proxy配置,因爲大部分的構件,都是要通過這個proxy得到的 

在安裝完nexus之後,這個proxy是預置的,需要做的就是把Download Remote Indexes改爲true,這樣nexus纔會從central repository下載索引,才能在nexus中使用artifact search的功能 。
網絡上有一些其他公開的maven倉庫,可以用同樣的辦法,在nexus中設置proxy,但是並不是所有maven倉庫,都提供了nexus index,這種情況下,就無法建立索引了 。

5:配置hosted repository 
一般會配置3個hosted repository,分別是3rd party、Snapshots、Releases,分別用來保存第三方jar(典型的比如ojdbc6.jar),項目組內部的快照、項目組內部的發佈版 



這裏並沒有什麼特別的配置,只是Deployment Policy這個選項,一般Snapshots會配置成允許,而Releases和3rd party會設置爲禁止 。

6:配置group repository 

前面說過,group其實是一個虛擬的倉庫,通過對實體倉庫(proxy、hosted)進行聚合,對外暴露一個統一的地址 



這裏要注意的是,放到左邊的倉庫,纔是會被聚合的倉庫。我昨天一直搞錯了,把倉庫都放到右邊,結果group什麼都沒有聚合到,是一個空的倉庫。。。 

7:配置用戶密碼 

在Security-->Users中配置,在deployment用戶上點擊右鍵,選擇Set Password,然後設置一個密碼,做這個操作是爲了後面提交做準備 



8:在用戶機器上配置settings.xml 

經過前面的7個步驟,nexus就配置好了,接下來需要在每個開發人員的開發機器上進行配置了 。去你的maven倉庫中conf文件夾下的setting文件增加server、mirror兩塊代碼即可

<?xml version="1.0" encoding="UTF-8"?>  
  
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
   
  <servers>  
    
    <server>  
        <id>nexus-snapshots</id>  
        <username>deployment</username>  
        <password>deployment</password>  
    </server>  
  
  </servers>  
    
  <mirrors>  
    
    <mirror>  
        <id>nexus</id>  
        <name>internal nexus repository</name>  
        <url>http://10.78.68.122:9090/nexus-2.1.1/content/groups/public/</url>  
        <mirrorOf>central</mirrorOf>  
    </mirror>  
      
  </mirrors>  
    
</settings>  


 

 

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