? 1,Maven最常用的私服服務(wù)器是Nexus;http://www.sonatype.org/nexus/go?
2捧挺,Nexus提供了兩種版本缕粹,一種是bundle版本岛抄,這個(gè)版本包含了nexus的發(fā)布應(yīng)用璃诀,同時(shí)也包含了各個(gè)操作系統(tǒng)需要的服務(wù)器,比如對(duì)于Java來(lái)說(shuō)谷暮,就提供了基于jetty的應(yīng)用蒿往;
3,下載nexus bundle版本:
http://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.9.2-bundle.zip
4湿弦,解壓到任意文件夾瓤漏,注意,在nexus-version和sonatype-work兩個(gè)文件夾都放在一起颊埃;
其中:
1蔬充,nexus-version:這個(gè)文件夾中包含了相關(guān)的服務(wù)器啟動(dòng)文件;
2班利,sonatype-work:這個(gè)文件夾包含了nexus的配置文件饥漫,日志文件和倉(cāng)庫(kù)文件等;
5罗标,進(jìn)入:nexus-2.9.2-bundle\nexus-2.9.2-01\bin\jsw\windows-x86-64文件夾中庸队;
其中:
1积蜻,install-nexus.bat:把nexus注冊(cè)成系統(tǒng)服務(wù);
2彻消,start-nexus.bat:?jiǎn)?dòng)nexus(要先執(zhí)行install-nexus)竿拆;
3,stop-nexus.bat:停止nexus服務(wù)宾尚;
4丙笋,uninstall-nexus.bat:卸載nexus服務(wù);
5央勒,wrapper.exe:打包的命令行不见;
這樣nexus服務(wù)就已經(jīng)啟動(dòng)了澳化;
查看services.msc崔步,可以看到nexus服務(wù):
默認(rèn)情況下,nexus服務(wù)是開(kāi)啟在8081端口上的缎谷,打開(kāi)瀏覽器訪問(wèn):
可以進(jìn)入到nexus私服的管理頁(yè)面井濒;
6,當(dāng)前是處于未登陸狀態(tài)列林,很多功能都不能使用瑞你,點(diǎn)擊右上角登陸:
默認(rèn)下,超級(jí)管理員的賬號(hào)是admin/admin123希痴;登陸系統(tǒng)后:
就可以使用更多的功能了者甲;
7,對(duì)于私服來(lái)說(shuō)砌创,最重要的功能是兩個(gè)虏缸,第一是倉(cāng)庫(kù),第二個(gè)是倉(cāng)庫(kù)索引嫩实;
1刽辙,倉(cāng)庫(kù),點(diǎn)擊repositories甲献,可以看到nexus內(nèi)置的倉(cāng)庫(kù)宰缤;其中比較重要的是:
(1)Maven Central:該倉(cāng)庫(kù)代理Maven中央倉(cāng)庫(kù),其策略為Release晃洒,因此只會(huì)下載和緩存中央倉(cāng)庫(kù)中的發(fā)布版本構(gòu)件慨灭。
(2)Releases:這是一種策略為Release的宿主類型倉(cāng)庫(kù),用來(lái)部署組織內(nèi)部的發(fā)布版本構(gòu)件球及。
(3)Snapshots:這是一個(gè)策略為Snapshot的宿主類型倉(cāng)庫(kù)氧骤,用來(lái)部署組織內(nèi)部的快照版本構(gòu)件。
(4)3rd party:這是一個(gè)策略為Release的宿主類型倉(cāng)庫(kù)桶略,用來(lái)部署無(wú)法從公共倉(cāng)庫(kù)獲得的第三方發(fā)布版本構(gòu)件语淘。
(5)Public Repositories:該倉(cāng)庫(kù)組將上述所有策略為Release的倉(cāng)庫(kù)聚合并通過(guò)一致的地址提供服務(wù)诲宇。
宿主倉(cāng)庫(kù):maven直接從宿主倉(cāng)庫(kù)中下載構(gòu)件;
代理倉(cāng)庫(kù):maven從代理倉(cāng)庫(kù)中下載構(gòu)件惶翻,如果代理倉(cāng)庫(kù)中沒(méi)有構(gòu)件姑蓝,則代理倉(cāng)庫(kù)從遠(yuǎn)程倉(cāng)庫(kù)下載構(gòu)件;
倉(cāng)庫(kù)組:倉(cāng)庫(kù)組是一個(gè)虛擬倉(cāng)庫(kù)吕粗,包含一組宿主倉(cāng)庫(kù)和代理倉(cāng)庫(kù)纺荧;
可以看出區(qū)別,1颅筋,宿主倉(cāng)庫(kù)是本地倉(cāng)庫(kù)宙暇,是不會(huì)去遠(yuǎn)程下載構(gòu)件的,所以一般公司內(nèi)部的構(gòu)件會(huì)放到宿主倉(cāng)庫(kù)中议泵;2占贫,代理倉(cāng)庫(kù)是可以從遠(yuǎn)程下載構(gòu)件的,所以先口,像中央倉(cāng)庫(kù)型奥,或者第三方倉(cāng)庫(kù)都可以配置為代理倉(cāng)庫(kù);3碉京,最后厢汹,一般會(huì)配置一個(gè)倉(cāng)庫(kù)組供maven統(tǒng)一使用;
2谐宙,添加一個(gè)倉(cāng)庫(kù)組:
頁(yè)面下面彈出添加倉(cāng)庫(kù)組的選項(xiàng):
添加groupID等:
注意烫葬,這里我們只選擇了三個(gè)倉(cāng)庫(kù),并沒(méi)有選擇apache凡蜻、codehaus兩個(gè)代理倉(cāng)庫(kù)搭综;這個(gè)根據(jù)公司需要做配置;
點(diǎn)擊保存:
后面的repository path就是訪問(wèn)地址咽瓷;
可以訪問(wèn)到设凹,但是現(xiàn)在這個(gè)倉(cāng)庫(kù)組中沒(méi)有任何內(nèi)容;
3茅姜,更新索引:更新倉(cāng)庫(kù)索引闪朱,可以從對(duì)應(yīng)倉(cāng)庫(kù)的服務(wù)器中下載構(gòu)件索引,我們就可以直接在私服中搜索任何構(gòu)件了钻洒,
點(diǎn)擊central倉(cāng)庫(kù)奋姿,在配置中把download remote indexes設(shè)置為true;點(diǎn)擊保存素标;
在central點(diǎn)擊右鍵称诗,選擇repair index;即可開(kāi)始下載中央倉(cāng)庫(kù)索引头遭;
中寓免,我們可以看到下載的進(jìn)度:
8癣诱,配置客戶端Maven使用私服地址,在.m2的settings.xml里面配置:
配置完成后袜香,在eclipse里面build一個(gè)項(xiàng)目撕予,可以看到以下內(nèi)容:
可以看到,依賴包已經(jīng)從私服下載了蜈首;