首先來(lái)介紹一下nexus這個(gè)開(kāi)發(fā)中會(huì)用到的服務(wù),Nexus是一個(gè)強(qiáng)大的Maven倉(cāng)庫(kù)管理器,它極大地簡(jiǎn)化了自己內(nèi)部倉(cāng)庫(kù)的維護(hù)和外部倉(cāng)庫(kù)的訪問(wèn)。利用Nexus你可以只在一個(gè)地方就能夠完全控制訪問(wèn) 和部署在你所維護(hù)倉(cāng)庫(kù)中的每個(gè)Artifact。Nexus是一套“開(kāi)箱即用”的系統(tǒng)不需要數(shù)據(jù)庫(kù),它使用文件系統(tǒng)加Lucene來(lái)組織數(shù)據(jù)。Nexus 使用ExtJS來(lái)開(kāi)發(fā)界面,利用Restlet來(lái)提供完整的REST APIs,通過(guò)m2eclipse與Eclipse集成使用。Nexus支持WebDAV與LDAP安全身份認(rèn)證。
在官方網(wǎng)站上提供了下載,其中Pro是專(zhuān)業(yè)版,收費(fèi)的,OSS是免費(fèi)版,用這個(gè)就足夠了。如果官網(wǎng)下載比較慢,或者下載不下來(lái),可私信【獲取nexus】來(lái)獲取nexus3版本。
解壓nexus壓縮包,會(huì)得到兩個(gè)文件夾:
其中nexus-3.19.1-01文件夾是方nexus程序的,sonatype-work是放倉(cāng)庫(kù)類(lèi)信息的。進(jìn)入nexus-3.19.1-01文件夾:
bin文件夾里面放的是可執(zhí)行文件,etc文件夾里放的是一些可配置文件,其中nexus-default.properties可配置nexus啟動(dòng)的一些參數(shù):
這里把啟動(dòng)端口置為9081,默認(rèn)是8081,操作nexus可通過(guò)bin文件夾里的nexus可執(zhí)行文件執(zhí)行,可執(zhí)行命令如下:
我們使用./neuxs start啟動(dòng)nexus服務(wù),第一次啟動(dòng)可能會(huì)比較慢,并且會(huì)生成一個(gè)臨時(shí)的管理員的密碼,在你第一次進(jìn)入nexus管理后臺(tái)時(shí),會(huì)讓你修改密碼,然后這個(gè)臨時(shí)密碼文件也就消失了。輸入ip:port會(huì)進(jìn)入如下頁(yè)面:
我們使用管理員登錄一下,會(huì)多出來(lái)一個(gè)設(shè)置的面板:
倉(cāng)庫(kù)里類(lèi)型說(shuō)明:
hosted(宿主倉(cāng)庫(kù)庫(kù)) :存放本公司開(kāi)發(fā)的jar包(正式版本、測(cè)試版本)
proxy(代理倉(cāng)庫(kù)):代理中央倉(cāng)庫(kù)、Apache下測(cè)試版本的jar包
group(組倉(cāng)庫(kù)):使用時(shí)連接組倉(cāng)庫(kù),包含Hosted(宿主倉(cāng)庫(kù))和Proxy(代理倉(cāng)庫(kù))
virtual (虛擬倉(cāng)庫(kù)) :基本用不到,重點(diǎn)關(guān)注上面三個(gè)倉(cāng)庫(kù)的使用
想要使用我們搭建的私服,首先要在本地Maven的配置文件中做相關(guān)配置,在Maven的conf/server.xml中配置server、mirror和profile:
如果我們工程中用到相關(guān)jar包,會(huì)首先查看本地倉(cāng)庫(kù)有沒(méi)有相關(guān)jar包,如果沒(méi)有就通過(guò)私服下載,私服上面沒(méi)有,就會(huì)去中央倉(cāng)庫(kù)中尋找,找到后在私服上存一份,然后下載到本地使用:
下載的過(guò)程是有了,那么上傳呢?就是一些常用的jar包,或者公司內(nèi)部開(kāi)發(fā)的jar包,想放到私服上,供其他同事來(lái)開(kāi)發(fā)和使用,很簡(jiǎn)單,在工程中的pom.xml文件中加入如下配置:
這里的配置的id,要和maven中配置文件中配置的server標(biāo)簽中的id保持一致,然后我們使用mvn:deploy就可以把本地的jar包,推送到私服里了:
其他同事就可以連接到這個(gè)私服上,使用這個(gè)jar包了!