通過(guò)建立自己的私服,就可以降低中央倉(cāng)庫(kù)負(fù)荷、節(jié)省外網(wǎng)寬帶、加速M(fèi)aven構(gòu)建、自己部署構(gòu)件等,從而高效的使用Maven。有三種專門(mén)的Maven倉(cāng)庫(kù)管理軟件可以用來(lái)幫助大家建立私服:Apache基金會(huì)的Archiva、JFrog的Artifactory和Sonatype的Nexus。個(gè)人只使用過(guò)Sonatype的Nexus,目前來(lái)說(shuō),應(yīng)該也是當(dāng)前最流行的Maven倉(cāng)庫(kù)管理軟件。

 

1.Nexus簡(jiǎn)單介紹

Nexus分為開(kāi)源版和專業(yè)版,其中開(kāi)源版本基于GPLv3許可證,其特性足以滿足大部分Maven用戶的需要。以下是一些Nexus開(kāi)源版本的特性:

  • 較小的內(nèi)存占用(最少僅為28MB)

  • 基于ExtJS的友好界面

  • 基于Restlet的完全REST API

  • 支持代理倉(cāng)庫(kù)、宿主倉(cāng)庫(kù)和倉(cāng)庫(kù)組

  • 基于文件系統(tǒng),不需要數(shù)據(jù)庫(kù)

  • 支持倉(cāng)庫(kù)索引和搜索

  • 支持從界面上傳Maven構(gòu)件

  • 細(xì)粒度的安全控制

Nexu專業(yè)版本是需要付費(fèi)購(gòu)買(mǎi)的,除了開(kāi)源版本的特性外,它主要包含一些企業(yè)安全控制、發(fā)布流程控制等需要的特性。感興趣的可以訪問(wèn)該地址了解了解:https://www.sonatype.com/nexus-repository-sonatype。

 

2.安裝Nexus

Nexus是典型的Java Web應(yīng)用,它有兩種安裝包,一種是包含Jetty容器的Bundle包,另一種是不包含Web容器的war包,不過(guò)小Alan現(xiàn)在去官網(wǎng)下載的時(shí)候貌似只發(fā)現(xiàn)了Bundle包,沒(méi)有發(fā)現(xiàn)war包的存在,大家可以自己注意一下,小Alan下載的是開(kāi)源版本的Bundle包,后面會(huì)以這個(gè)為基礎(chǔ)給大家講解。

 

①下載Nexus

下載地址:https://www.sonatype.com/download-oss-sonatype,進(jìn)入網(wǎng)址,如圖:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

最新的版本是3.x,小Alan選擇的是下面的2.x,最新的版本改動(dòng)比較大,很多東西小Alan也還沒(méi)去摸索,所以不好拿出來(lái)演示,目前軟件公司用的最多的應(yīng)該還是2.x版本,這里就給大家演示2.x版本,當(dāng)然,感興趣的童鞋可以在看完小Alan寫(xiě)的文章后自己去下載最新的版本摸索摸索。

 

②安裝Nexus

Nexus的Bundle自帶了Jetty容器,因此用戶不需要額外的Web容器就能直接啟動(dòng)Nexus。

將其解壓到某個(gè)目錄下面,會(huì)得到如下兩個(gè)子目錄:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

nexus-2.14.2-01:該目錄包含了Nexus運(yùn)行所需要的文件,如啟動(dòng)腳本、依賴jar包等。

<