在網際網路專案開發浪潮中,maven成為了專案管理依賴的重要工具,更多時候maven只作為拉取外部依賴的手段。但出於安全的考慮的,部門企業難免封裝一些私有的工具類,或開源框架的二次開發封裝,maven私服應運而生了。私服是優先從私有本地倉庫拉取對應的資源,如果沒有依然會從maven大環境中尋找。下面是maven如何搭建私服、從私服下載資源、上傳原生代碼到私服的過程。
一 搭建私服環境(本文使用版本 nexus-3.32.0-03-win64)
使用Nexus來搭建本地的Maven伺服器,可從官網下載http://www.sonatype.org/nexus/downloads/
也可以從本人上傳的資源下載:https://download.csdn.net/download/higherzjm/20356076 ,說到CSDN資源共享有點無語,有些太昂貴了,需要10分20分積分,甚至還有70分 的
下載完zip後進行解壓,用cmd進入bin目錄,使用nexus.exe /run命令進行啟動,第一次啟動需要進行大量的初始化資訊,會比較慢。
啟動完之後用預設8081埠開啟 http://127.0.0.1:8081/,預設埠可修改,預設登入使用者名稱admin,該版本的預設密碼並不是admin123,第一次開啟頁面會引導你找初始化密碼,並引導你修改密碼。
登入完之後新建你要的私服倉庫資訊
型別選擇maven2(hosted)
編寫參考資訊,圖中三處畫紅色的跟專案的釋出關係很大,
name:倉庫名稱,也是吃,倉庫id,跟專案中的倉庫地址和maven settings.xml的參考資訊一致
version pollcy:版本型別,有Release,Snapshot,Mixed,專案中pom.xml version要跟選擇的一致
hosted:託管選擇是否可釋出
新建倉庫資訊配置完之後,就可以在本地maven的settings.xml中進行引入,id就是上一步建倉庫name,要一致,username和password就是私服管理平臺登入賬號和密碼。
<server>
<id>zjmrepository</id> <!--必須要與所建倉庫唯一標識name匹配-->
<username>admin</username>
<password>admin123</password>
</server>
二 如何向私服中釋出自己的專案資源
1 專案中的pom.xml定義的版本型別要跟所建倉庫的型別一致(版本號-型別),不然會發布失敗,版本號可以隨便寫
2 pom.xml加入倉庫管理配置,倉庫id跟URL需要跟新建倉庫的資訊匹配,name可以隨便填
<!--倉庫管理,要向倉庫中分佈新東西在這裡配置-->
<distributionManagement>
<repository>
<id>zjmrepository</id><!--倉庫id,必須要跟私服上建的倉庫id一致-->
<name>zjmrepository Repository2</name> <!--可隨便寫-->
<url>http://127.0.0.1:8081/repository/zjmrepository/</url> <!--url後面是倉庫id,要匹配-->
</repository>
</distributionManagement>
3 配完之後即可在專案maven下進行deploy釋出
4 釋出完之後,可在私服管理平臺browse下檢視釋出的結果,並檢視如何被其他專案引用
三 如何從私服中下載資源
maven依賴私服資源方式跟外部資源一致,主要是要配置私服的環境地址
<repositories>
<!--配置優先使用私服倉庫載入依賴,如果私服倉庫沒有對應的依賴會去外網拉-->
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>zjmrepository</id>
<name>zjmrepository maven</name>
<url>http://127.0.0.1:8081/repository/zjmrepository/</url>
</repository>
</repositories>