使用Nexus搭建Maven私服倉庫
一、為什麼要使用私服
在項目團隊實際開發中,往往Maven倉庫需要集中管理。建立內部的私服倉庫,能夠很好地解決這一問題,既方便對Maven座標進行管理,也方便倉庫Jar的下載。本文主要介紹Nexus來搭建Maven私服倉庫,Nexus是一款非常好用的私服搭建工具。
二、Nexus主要功能
他可以用來進行指定私服的中央地址、將自己的Maven實際項目推送到私服主流地址、從私服下載中央倉庫的項目進行過程中的索引、從私服倉庫下載所依賴的組件、將第三方項目jar上傳到私服供其他開發組員使用。
開啟了Nexus服務之後進行訪問url鏈接:http://localhost:8182/nexus/,之後進行登錄,用戶名密碼分別是:admin/admin123。
然後點擊菜單欄Repositories按鈕:
一般所使用的倉庫種類:
(1)hosted類型的倉庫,用於內部項目發佈的倉庫
(2)releases內部的模塊中release模塊的發佈倉庫
(3)snapshots發佈內部的SNAPSHOT模塊的倉庫
(4)3rd party第三方依賴的倉庫,這個數據通常是由內部人員自行下載之後進行發佈
(5)proxy類型的倉庫,從遠程中央倉庫中找到數據的倉庫
(6)group類型的倉庫,組倉庫用來方便我們開發人員進行設置的倉庫
三、使用項目索引
下載Maven項目索引,項目索引是為了操作的人員可以在私服站點查找依賴所開啟的功能
保存之後後臺可以運行一個任務,通過點擊菜單欄Scheduled Tasks選項即可看到有個任務在運行。下載成功之後,Maven索引就可以使用了,在搜索欄輸入要搜索的項,就可以找到相關度的信息。比如搜索spring-core
就可以檢索出相關的信息,包括怎麼配置互相需要的信息。如果我們想使用這個私服倉庫,先應該在pom進行配置私服信息,指定倉庫
<repositories>
<repository>
nexus
<name>nexus/<name>
http://192.168.3.162:8182/nexus/content/groups/public/
<releases>
<enabled>true/<enabled>
<snapshots>
<enabled>true/<enabled>
指定插件倉庫
<pluginrepositories>
<pluginrepository>
nexus
<name>nexus/<name>
http://192.168.3.162:8182/nexus/content/groups/public/
<releases>
<enabled>true/<enabled>
<snapshots>
<enabled>true/<enabled>
完成了這些操作之後,本項目就可以下載私服組件了。
全局settings.xml需要修改,配置用戶認證:
<server> /<server>
nexus
<username>admin/<username>
<password>admin123/<password>
<server> /<server>
Snapshots
<username>admin/<username>
<password>admin123/<password>
<server> /<server>
Releases
<username>admin/<username>
<password>admin123/<password>
上面使用的setting.xml 中的
<server> /<server>
nexus... 和
<mirror> /<mirror>
nexus ... 中的id值保持一致
Snapshots 和 Releases 是用於maven項目中 pom.xml文件裡面的如下內容,注意id值保持一致
<distributionmanagement>
<repository>
Releases
http://私服地址/repository/maven-releases/
<snapshotrepository>
Snapshots
http://私服地址/repository/maven-snapshots/
四、發佈項目到私服
發佈項目快照到私服上命令行下執行:mvn clean deploy -Dmaven.test.skip=true