使用Nexus搭建Maven私服
1.????環(huán)境搭建
1.1? 下載
http://www.sonatype.org/nexus/
NEXUS OSS [OSS = Open Source Software,開源軟件——免費(fèi)]
NEXUS PROFESSIONAL -FREE TRIAL [專業(yè)版本——收費(fèi)]。
所以選擇NEXUS OSS
?
?
找到Download andInstall Nexus OSS。下載ZIP的即可:
?
1.2? 配置
將下載的ZIP包解壓,得到如下目錄:
?
?
將Nexus的bin目錄添加到Path環(huán)境變量中:
?
?
將Nexus與當(dāng)前使用的JDK的關(guān)聯(lián),修改如下的配置文件即可,目錄為,
${ Nexus_HOME }/bin/jsw/conf/wrapper.conf。如下圖:
?
?
到此配置完畢,然后,即可在本地訪問Nexus,如出現(xiàn)下圖就表示配置成功:
?
?
2.????Nexus中的倉庫
2.1? 類型介紹
登陸Nexus,在左邊菜單欄里選擇Repositories,然后會出現(xiàn)右邊的畫面,右邊上半部分是列出來的repository,黑體字是類型為group的repository。
這里簡單介紹下幾種repository的類型:
?? hosted,本地倉庫,通常我們會部署自己的構(gòu)件到這一類型的倉庫。比如公司的第二方庫。
?? proxy,代理倉庫,它們被用來代理遠(yuǎn)程的公共倉庫,如maven中央倉庫。
?? group,倉庫組,用來合并多個hosted/proxy倉庫,當(dāng)你的項(xiàng)目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。
?
?
2.2? 管理本地倉庫
我們前面講到類型為hosted的為本地倉庫,Nexus預(yù)定義了3個本地倉庫,分別是Releases, Snapshots, 3rd Party. 分別講一下這三個預(yù)置的倉庫都是做什么用的:
Releases:
? 這里存放我們自己項(xiàng)目中發(fā)布的構(gòu)建, 通常是Release版本的, 比如我們自己做了一個FTP Server的項(xiàng)目, 生成的構(gòu)件為ftpserver.war, 我們就可以把這個構(gòu)建發(fā)布到Nexus的Releases本地倉庫. 關(guān)于符合發(fā)布后面會有介紹.
Snapshots:
? 這個倉庫非常的有用, 它的目的是讓我們可以發(fā)布那些非release版本, 非穩(wěn)定版本, 比如我們在trunk下開發(fā)一個項(xiàng)目,在正式release之前你可能需要臨時發(fā)布一個版本給你的同伴使用, 因?yàn)槟愕耐檎谝蕾嚹愕哪K開發(fā), 那么這個時候我們就可以發(fā)布Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本.
3rd Party:
顧名思義, 第三方庫, 你可能會問不是有中央倉庫來管理第三方庫嘛,沒錯, 這里的是指可以讓你添加自己的第三方庫, 比如有些構(gòu)件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅(qū)動, 這個時候我們就需要自己添加到3rdparty倉庫。
?
2.3? 在Nexus為自己的項(xiàng)目手動單獨(dú)建庫
建庫,Add-- >HostedRepository
?
?
建權(quán)限
?
?
建角色(指定權(quán)限)
?
?
建用戶(指定角色)
?
?
2.4? Maven倉庫組
通過前面介紹可以了解到, 我們可以建立多個proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們?nèi)绻枰眠@些倉庫的是時候需要一一加入到我們的setting.xml里面去, 有了倉庫的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉庫加入到倉庫組即可。如下圖:
?
?
倉庫組默認(rèn)包含本地倉庫Releases,snapshots, 3rd party和代理倉庫MavenCentral. 你可以在Configuration配置頁添加倉庫到這個倉庫組. 如果需要你還可以創(chuàng)建一個倉庫組,在Repositories菜單處選add-->Repository Group即可
?
3.????項(xiàng)目中配置Nexus倉庫
如果只有一個項(xiàng)目,可以配置在項(xiàng)目的pom文件中:
?
?
如果有多個項(xiàng)目都使用Nexus的配置,可以將如上皮遏制放到Maven的Settings文件中:
?
?
4.????配置倉庫鏡像
默認(rèn)的,如果本地倉庫找不到依賴的構(gòu)件,這時需要東西時先到Nexus上找,如果發(fā)現(xiàn)Nexus服務(wù)關(guān)閉后,會自動到中央倉庫找。
如果我們想覆蓋中央倉庫的默認(rèn)地址,強(qiáng)制依賴的東西都到Nexus中去找,即使Nexus關(guān)閉也不會到中央工廠去下載:
修改Maven的Settings文件:
?
?
注意,如果本地倉庫有東西,但Nexus中沒有,需要將該東西考到Nexus倉庫中,然后更新倉庫索引:
轉(zhuǎn)載于:https://www.cnblogs.com/hoobey/p/6082905.html
總結(jié)
以上是生活随笔為你收集整理的使用Nexus搭建Maven私服的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云OSS存储开发
- 下一篇: [Web API] 如何让 Web AP