我們首先登陸管理者界面, 然後點選"設定", 然後點選"Repository", 在點選Repositories, 我們就可以看到如圖所示的頁面資訊
其實nexus預設了幾個倉庫給我們
我們先來看maven-public, 類型為group, 這個簡單了解為倉庫的集合, 其他的倉庫就是可以加入到這個集合中的.我們點選進去編輯,可以看到, URL: http://ip:8081/repository/maven-public/, 我們終端使用者在配置上, 隻需要配置上面這個url, 而不用單獨配置多個倉庫, 使用者也不需要知道某個jar包具體來源于maven中央倉庫, 或者是Apache Snapshots, 或者是我們自己添加的其他倉庫.
這樣的好處在于, 如果我們要新增某個倉庫(如開源中國, 阿裡雲), 用戶端不需要做任何更改, 隻需要在nexus上将要新增的倉庫加入到對外提供服務的倉庫group中就可以.
下面我們來看maven-releases, maven-snapshots, 這個兩個都是hosted類型, 意思是由nexus本機管理的倉庫.
maven-central是類型為proxy的倉庫, 意思為遠端倉庫代理, 我們檢視他的配置資訊, 我們可以看到, proxy的url位址為: https://repo1.maven.org/maven2/
而這個就是我們proxy的遠端配置資訊
好了, 那我們這幾個maven的配置都熟悉完了, 怎麼讓hosted和proxy的都屬于group組的呢? 我們重新打開maven-public的設定頁面, 我們看到最後
我們看到, 我們在這個group中, 是可以看到hosted和proxy的所有設定的, 我們隻需要把我們需要的設定添加到左邊的選擇框中, 我們就可以選擇我們所需要的類型就可以了
我們配置一下maven倉庫, 增加阿裡雲倉庫代理位址
阿裡雲的倉庫位址為: http://maven.aliyun.com/nexus/content/groups/public/, 我們建立一個maven類型的倉庫位址, 注意, nexus可以提供多用類型的使用, 我們隻需要找符合我們需求的就可以了, 如下
我們選擇maven2(proxy), 然後填入阿裡雲相關的資訊, 就ok了
最後, maven-pulic會自動把我們建立的倉庫添加到自己的group中, 如圖
我們用戶端在使用maven的時候, maven的配置檔案中有一個檔案叫setting.xml, 如下圖所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CZ2MjY5QTZ3QTM3UWZwEWMjNzYkZzNlFDZyUmMiljY38CX4EzLchDMwIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
我們需要在我們的setting.xml檔案中, 設定我們nexus的倉庫位址:
當然, 我們的maven配置也是可以支援你設定多個倉庫位址的,
你隻需要配置我們nexus的位址, 即:maven-public的url在其中, 其實就可以了.
在maven的setting.xml檔案中配置私服配置, 這種方式配置後所有本地使用改配置的maven項目的pom檔案都無需配置私服下載下傳相關配置
激活使用上面的配置:
這種配置是修改單個項目的pom檔案,無需修改maven的setting配置
建議使用全局的setting配置,一個項目組共用一個maven的setting配置,項目中就無需配置下載下傳相關的私服倉庫配置
對于中央倉庫沒有的jar包, 需要我們自己将jar包釋出到私服中去, 其中jar包主要分為兩類, 一類是本地自己開發供給項目組其餘同僚使用, 這種直接配置項目的pom檔案和maven的setting檔案, 之後deploy釋出即可釋出到;
另一類是第三方jar包, 可以直接使用web頁面上傳并設定對應GAV即可;
這裡要配置上傳使用者及倉庫資訊, 這裡我們使用一個使用者, 在nexus2.x中還設定了一個deployment/deployment123使用者, 在3.x改使用者删除了, 你也可以自己配置角色和使用者,
這是myeclipse中上傳本地項目jar到私服,IDEA中更為簡單直接點選maven周期中的deploy即可
然後到對應的倉庫中檢視
注意:
這裡隻有Snapshot的倉庫上傳成功,Release倉庫并沒有上傳成功,這是因為版本号名稱結尾有SNAPSHOT,預設以這個結尾是不會上傳到Release倉庫去的,去除就會上傳到Release倉庫且不會上傳到快照倉庫
Release倉庫預設不支援重複釋出
注意setting中server标簽下的id要和pom檔案中倉庫配置的id相同,即指定上傳到哪個倉庫
對于第三方jar包的上傳采用nenus提供的web界面上傳,上傳成功後需要使用該jar包的話,依賴中填寫自定義的GAV即可
如果你覺得我寫的不錯, 就點個贊吧.歡迎跟我多交流,本人公衆号stormling
據說大家都在點"在看", 動動你的小手點一下吧! 感謝!
故事淩
明天能否加個雞腿!
喜歡作者