- 首先私服是一種衍生出來(lái)的特殊的Maven遠(yuǎn)程倉(cāng)庫(kù),構(gòu)建私服的好處請(qǐng)看3.5私服
- 可以幫助大家建立私服的倉(cāng)庫(kù)管理軟件:Apache基金會(huì)的Archiva绽乔,JFrog的Artifactory,Sonatype的Nexus睦授,其中Nexus最流行。
1Nexus簡(jiǎn)介
- Nexus的誕生也是因?yàn)槭懿涣送饩W(wǎng)的慢速度,所以通過(guò)開(kāi)發(fā)web應(yīng)用把已下載構(gòu)件緩存起來(lái)斑鼻,下次下載直接從緩存處獲取关摇。
- Nexus分為專(zhuān)業(yè)版(收費(fèi))和開(kāi)源版(免費(fèi))
開(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ì)粒度的安全控制
2安裝Nexus
Nexus是典型的Java Web應(yīng)用鹅很,他有兩種安裝包,一種是包含Jetty容器的Bundle包整袁,另一種是不包含Web容器的war包菠齿。
2.1下載
下載,下載oss版
版本:nexus-3.1.0-04-win64.zip
jdk要求:1.8及以上坐昙。
解壓后有兩個(gè)目錄(安裝目錄绳匀、數(shù)據(jù)目錄)
- (安裝目錄)nexus-3.1.0-04:該目錄包含了Nexus運(yùn)行所需要的文件,如啟動(dòng)腳本民珍,依賴(lài)jar包等。(所有相同版本nexus中該目錄內(nèi)容相同)
目錄內(nèi)容及解釋?zhuān)?/li>
LICENSE.txt
NOTICE.txt
bin
deploy
etc
lib
public
system
The installation directory includes a number of nested directories:
LICENSE.txt and NOTICE.txt
contain legal details about the license and copyright notices.
bin
contains the nexus
startup script itself as well as startup-related configuration files.
etc
contains configuration files.
lib
contains binary libraries related to Apache Karaf.
public
contains public resources of the application.
system
contains all components and plugins that constitute the application.
- (數(shù)據(jù)目錄)sonatype-work:該目錄包含Nexus生成的配置文件暴匠、日志、倉(cāng)庫(kù)文件等岸霹。(需要備份時(shí)備份該目錄就行)
2.2常見(jiàn)命令
如使用命令行請(qǐng)使用管理員權(quán)限打開(kāi)
2.2.1配置成服務(wù)
- 原因:
在生產(chǎn)中使用安裝Nexus Repository Manager時(shí),必須將其配置為作為服務(wù)運(yùn)行垢袱,以便在服務(wù)器重新啟動(dòng)后重新啟動(dòng)臣樱。 官方文檔提供了各平臺(tái)的配置席吴。 - Running as a Service on Windows
使用管理員身份打開(kāi)命令行
nexus.exe /install <optional-service-name>
默認(rèn)服務(wù)名稱(chēng)為nexus泣洞。
安裝成功
在系統(tǒng)的服務(wù)中可以看到:
配置成隨系統(tǒng)啟動(dòng)
操作服務(wù)的其命令
nexus.exe /start <optional-service-name> 開(kāi)啟服務(wù)删壮,(也可以在winds的服務(wù)界面操作)
nexus.exe /stop <optional-service-name>
nexus.exe /uninstall <optional-service-name> 卸載服務(wù)。
2.2.2啟動(dòng)nexus
啟動(dòng)成功,默認(rèn)端口8081.登錄界面猴抹,http://localhost:8081/
方案一
如果你將nexus配置成服務(wù)后,1.進(jìn)入界面系統(tǒng)服務(wù)界面誓禁,直接啟動(dòng)服務(wù)后就可以姜盈,或者在命令行采用nexus.exe /start nexus,啟動(dòng)服務(wù)。
方案二(推薦方案一)
如果你沒(méi)有將nexus配置成服務(wù),則需要手動(dòng)到命令行執(zhí)行啟動(dòng)命令:
進(jìn)入到bin/目錄下
nexus.exe /run
出現(xiàn)下面文字就啟動(dòng)成功
Started Sonatype Nexus OSS 3.1.0-04
其它命令
nexus.exe start
nexus.exe stop
nexus.exe restart
2.2.3停止nexus
同樣如果是配置成系統(tǒng)中的服務(wù)音瓷,則關(guān)閉服務(wù)就行对嚼,否則直接在命令行執(zhí)行Ctr+C
2.2.4登錄
進(jìn)入nexus后,輸入賬號(hào)密碼登錄绳慎,admin/admin123
2.2.5提示
為了在命令行中方便使用nexus.exe命令可以將其配置在系統(tǒng)環(huán)境變量中纵竖。
3Nexus的倉(cāng)庫(kù)與倉(cāng)庫(kù)組
Nexus包含了各種類(lèi)型的倉(cāng)庫(kù)概念,包括代理倉(cāng)庫(kù)(proxy)杏愤、宿主倉(cāng)庫(kù)(hosted)靡砌、倉(cāng)庫(kù)組(group)、虛擬倉(cāng)庫(kù)(virtual)珊楼。每一種倉(cāng)庫(kù)都提供了豐富實(shí)用的配置參數(shù)通殃,用戶根據(jù)需求定制。
3.1Nexus內(nèi)置的倉(cāng)庫(kù)
-
對(duì)于4種類(lèi)型的倉(cāng)庫(kù)厕宗,Maven內(nèi)置了一些倉(cāng)庫(kù)画舌,這些倉(cāng)庫(kù)用戶可以不用在配置了。每個(gè)倉(cāng)庫(kù)的格式為maven2或maven1已慢,此外倉(cāng)庫(kù)還有一個(gè)屬性Policy(策略),表示倉(cāng)庫(kù)為發(fā)布(Release)版本還是快照(Snapshot)版本倉(cāng)庫(kù)曲聂。
- 代理倉(cāng)庫(kù)主要是提供下載緩存構(gòu)件和插件、如果只是從遠(yuǎn)程倉(cāng)庫(kù)下載構(gòu)件和插件佑惠、那么代理倉(cāng)庫(kù)完全足夠朋腋。
- 宿主倉(cāng)庫(kù)主要用于存放項(xiàng)目部署的構(gòu)件或者第三方構(gòu)件。
- 倉(cāng)庫(kù)組將相同策略的倉(cāng)庫(kù)聚合膜楷,并通過(guò)一致的地址提供服務(wù)旭咽。(因?yàn)轫?xiàng)目有可能依賴(lài)的中央倉(cāng)庫(kù)的release插件和某個(gè)宿主倉(cāng)庫(kù)中release的插件,為了方便可以配置倉(cāng)庫(kù)組作為倉(cāng)庫(kù)把将,而不去單獨(dú)配置兩個(gè)倉(cāng)庫(kù))轻专。
對(duì)于格式為maven1的倉(cāng)庫(kù)和虛擬類(lèi)型的倉(cāng)庫(kù)不做介紹,這兩種都是為maven1服務(wù)的察蹲。
Maven Central: 代理中央倉(cāng)庫(kù)请垛、策略為Release催训、只會(huì)下載和緩存中央倉(cāng)庫(kù)中的發(fā)布版本構(gòu)件。
Release: 策略為Release的宿主倉(cāng)庫(kù)宗收、用來(lái)部署組織內(nèi)部的發(fā)布版本內(nèi)容漫拭。
Snapshot: 策略為Snapshot的宿主倉(cāng)庫(kù)、用來(lái)部署組織內(nèi)部的快照版本內(nèi)容混稽。
3rd party: 策略為Release的宿主倉(cāng)庫(kù)類(lèi)型采驻、用來(lái)部署無(wú)法從公共倉(cāng)庫(kù)獲取的第三方發(fā)布版本構(gòu)件、如oracle連接驅(qū)動(dòng)jar包匈勋。
ApacheSnapshot: 策略為Snapshot的代理倉(cāng)庫(kù)礼旅、用來(lái)代理ApacheMaven倉(cāng)庫(kù)的快照版本構(gòu)件。
Codehaus Snapshots:這是一個(gè)策略為Snapshot的代理倉(cāng)庫(kù)洽洁,用來(lái)代理Codehaus Maven倉(cāng)庫(kù)的快照版本構(gòu)件痘系。
Google Code:這是一個(gè)策略為Release的代理倉(cāng)庫(kù),用來(lái)代理Google Code Maven倉(cāng)庫(kù)的發(fā)布版本構(gòu)件饿自。
PublicRepositories:該倉(cāng)庫(kù)將上述所有策略為Release的倉(cāng)庫(kù)聚合并通過(guò)一致的地址提供服務(wù)汰翠。
Public Snapshot Repositories:該倉(cāng)庫(kù)將上述所有策略為Snapshot的倉(cāng)庫(kù)聚合并通過(guò)一致的地址提供服務(wù)。
3.2案例理解概念
公司內(nèi)部建立Nexus私服為公司項(xiàng)目提供服務(wù)昭雌,公司Maven項(xiàng)目X复唤。
X依賴(lài)開(kāi)源類(lèi)庫(kù)如JUnit類(lèi),這些構(gòu)件可以從Maven中央倉(cāng)庫(kù)獲得烛卧,因此Maven Central代理倉(cāng)庫(kù)會(huì)被用來(lái)代理中央倉(cāng)庫(kù)的內(nèi)容佛纫,并在私服上緩存下來(lái)。
X還來(lái)依賴(lài)與Google Code的某個(gè)項(xiàng)目唱星,其構(gòu)件不在中央倉(cāng)庫(kù)雳旅,只存在于Google Code倉(cāng)庫(kù)中,所以Google Code代理倉(cāng)庫(kù)會(huì)被用來(lái)緩存這樣的構(gòu)件间聊。
X還依賴(lài)于Oracle的JDBC驅(qū)動(dòng)攒盈,由于版權(quán)原因,該類(lèi)庫(kù)無(wú)法從公共倉(cāng)庫(kù)獲得哎榴,因此公司管理員將其部署到3rd party宿主倉(cāng)庫(kù)中型豁,供X使用。
X的快照版構(gòu)件成功后會(huì)被部署到Snapshots宿主倉(cāng)庫(kù)中尚蝌,供其他項(xiàng)目使用迎变,當(dāng)X發(fā)布正式版本的時(shí)候,其構(gòu)件會(huì)被部署到Release宿主倉(cāng)庫(kù)中飘言。
由于X用到了上述列表中的很多倉(cāng)庫(kù)衣形,為每個(gè)倉(cāng)庫(kù)聲明Maven配置又比較麻煩,因此可以直接使用倉(cāng)庫(kù)Public Repositories和Public Snapshot Repositories。當(dāng)X需要JUnit的時(shí)候谆吴,她直接從PublicRepositories下載倒源,Public Repositories會(huì)選擇Maven Central提供實(shí)際的內(nèi)容。
3.3Nexus倉(cāng)庫(kù)分類(lèi)的概念
Maven可以直接從宿主倉(cāng)庫(kù)下載構(gòu)件句狼,也可以從代理下載笋熬,為了方便還可以從倉(cāng)庫(kù)組下載構(gòu)件,倉(cāng)庫(kù)組沒(méi)有時(shí)間內(nèi)容腻菇,它會(huì)轉(zhuǎn)向其包含的宿主倉(cāng)庫(kù)或者代理倉(cāng)庫(kù)獲取實(shí)際的構(gòu)件胳螟。
3.4創(chuàng)建Nexus倉(cāng)庫(kù)
3.4.1宿主倉(cāng)庫(kù)配置信息
3.4.2代理倉(cāng)庫(kù)配置信息
案例
- 發(fā)生錯(cuò)誤條件:第一次搭建nexus私服在局域網(wǎng)內(nèi)的一臺(tái)服務(wù)器上,而且那臺(tái)服務(wù)器沒(méi)有連接外網(wǎng)筹吐,所以私服上還沒(méi)有任何構(gòu)件糖耸。局域網(wǎng)中的A電腦進(jìn)行了下面操作,A在本地maven倉(cāng)庫(kù)之前已經(jīng)有了maven-reporting-api構(gòu)件骏令,通過(guò)鏡像配置本地maven項(xiàng)目從私服獲取所有構(gòu)件蔬捷,然后執(zhí)行mvn clean deploy出現(xiàn)以下錯(cuò)誤。下面是一種錯(cuò)誤分析榔袋。
錯(cuò)誤分析:(正確铡俐,測(cè)試過(guò))
a. 根據(jù)提示說(shuō)明本地緩存了這個(gè)錯(cuò)誤凰兑,解決方法由兩個(gè):一是等maven檢查遠(yuǎn)程倉(cāng)庫(kù)的更新間隔時(shí)間到了(更新間隔時(shí)間是maven從遠(yuǎn)程倉(cāng)庫(kù)(nexus)檢查最新構(gòu)件的更新策略u(píng)pdataPolicy。默認(rèn)一天檢查一次审丘。詳細(xì)請(qǐng)看maven---6倉(cāng)庫(kù)--->4遠(yuǎn)程倉(cāng)庫(kù)配置)吏够。
另一個(gè)是強(qiáng)制讓maven檢查遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行更新,即不再等它時(shí)間到,使用參數(shù)U來(lái)強(qiáng)制更新滩报。
-
解決步驟:(如果解決不了看下面)
- 1.讓私服連接上外網(wǎng)锅知,在本地倉(cāng)庫(kù)中刪除掉maven-reporting-api構(gòu)件。
- 2.執(zhí)行mvn clean deploy -U
-
再解決
如果上面的1,2執(zhí)行完后沒(méi)解決脓钾。那么應(yīng)該是nexus上遠(yuǎn)程代理倉(cāng)庫(kù)在沒(méi)有網(wǎng)的情況下下載構(gòu)件售睹,但是下載失敗了,而nexus代理倉(cāng)庫(kù)對(duì)“沒(méi)找到構(gòu)件”這種情況會(huì)緩存一天(看3.4.2代理倉(cāng)庫(kù)配置信息)可训,所以即使你本地按照上面設(shè)置了昌妹,但是nexus這里依然給你它緩存的結(jié)果。進(jìn)行下面的設(shè)置后在執(zhí)行上面2個(gè)步驟握截,即可解決飞崖。- 1.到nexus上設(shè)置要訪問(wèn)的遠(yuǎn)程代理倉(cāng)庫(kù)對(duì)待“沒(méi)有發(fā)現(xiàn)構(gòu)件的緩存時(shí)間設(shè)為0”。
- 再次執(zhí)行mvn clean deploy -U谨胞,就可以了固歪。
3.4.3倉(cāng)庫(kù)組配置信息
4配置Maven從Nexus下載構(gòu)件
4.1確定nexus上倉(cāng)庫(kù)的地址。
http://localhost:8081/repository/maven-public/
4.2在單個(gè)maven項(xiàng)目中配置
- 在需要的maven項(xiàng)目中配置pom.xml文件胯努。
maven---6倉(cāng)庫(kù)--->4.遠(yuǎn)程倉(cāng)庫(kù)配置
maven---7生命周期和插件--->8.1插件倉(cāng)庫(kù)
中介紹了在maven項(xiàng)目中配置倉(cāng)庫(kù)和插件倉(cāng)庫(kù)牢裳。
問(wèn)題:這種配置只針對(duì)當(dāng)前maven項(xiàng)目有效术瓮,對(duì)于電腦上的其它maven項(xiàng)目還需要重新配置自己的pom
4.3配置全局范圍(推薦)
- 想通過(guò)一次配置就讓本機(jī)所有maven項(xiàng)目都使用自己的私服。答案:在setting.xml中配置贰健。
4.3.1在setting中配置訪問(wèn)私服(方法一)
- settings.xml中不能配置repositories和pluginRepositories胞四,但是提供了Profile機(jī)制,能讓用戶將倉(cāng)庫(kù)配置放到settings.xml中的Profile中伶椿。
<settings>
...
<!--配置Nexus倉(cāng)庫(kù)-->
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://localhost:8081/repository/maven-public/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://localhost:8081/repository/maven-public/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!--激活Nexus倉(cāng)庫(kù)配置 -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
...
</settings>
- 配置中使用一個(gè)id=nexus的profile辜伟,這個(gè)profile包含了相關(guān)的倉(cāng)庫(kù)配置,同時(shí)使用activeProfile元素將這個(gè)profile激活脊另。
4.3.2通過(guò)鏡像配置私服(方法二)(推薦)
- 通過(guò)(方法一)在settings.xml配置私服倉(cāng)庫(kù)后导狡,項(xiàng)目依然會(huì)時(shí)不時(shí)訪問(wèn)中央倉(cāng)庫(kù)和maven項(xiàng)目中配置的其它遠(yuǎn)程倉(cāng)庫(kù),而不是全部訪問(wèn)私服偎痛,此時(shí)就需要配置鏡像旱捧。maven---6倉(cāng)庫(kù)--->7鏡像
- 讓所有對(duì)遠(yuǎn)程倉(cāng)庫(kù)(不論是中央倉(cāng)庫(kù)還是第三方倉(cāng)庫(kù)如:JBoss Maven庫(kù))的請(qǐng)求都轉(zhuǎn)到nexus倉(cāng)庫(kù),同時(shí)nexus的倉(cāng)庫(kù)組要包含所有maven項(xiàng)目需要請(qǐng)求的代理倉(cāng)庫(kù)(即需要的代理所有需要的遠(yuǎn)程倉(cāng)庫(kù))踩麦。
同樣在settings.xml中配置鏡像:
<settings>
...
<!--配置鏡像-->
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>nexus mirror for all repositry</name>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
<!--配置Nexus倉(cāng)庫(kù)-->
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots><enabled>true</enabled> </snapshots>
<releases><enabled>true</enabled> </releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central pluginRepository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots><enabled>true</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!--激活Nexus倉(cāng)庫(kù)配置 -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
...
</settings>
解釋
- 問(wèn):配置的鏡像*會(huì)攔截所有的倉(cāng)庫(kù)請(qǐng)求枚赡,為什么還要配置central的倉(cāng)庫(kù)及插件倉(cāng)庫(kù)呢?
- 答:1.首先倉(cāng)庫(kù)名稱(chēng)取為central谓谦,會(huì)覆蓋超級(jí)Pom中的中央倉(cāng)庫(kù)配置贫橙。2.由于所有倉(cāng)庫(kù)請(qǐng)求都轉(zhuǎn)向了鏡像配置的地址,所以配置的倉(cāng)庫(kù)和插件倉(cāng)庫(kù)的url無(wú)效反粥。3.主要目的:開(kāi)啟對(duì)快照版本下載的支持卢肃,當(dāng)Maven需要下載發(fā)布版或者快照版構(gòu)件的時(shí)候,它首先檢查central才顿,看該類(lèi)型構(gòu)件是否支持莫湘,得到正面回答后,再根據(jù)鏡像匹配規(guī)則轉(zhuǎn)而訪問(wèn)私服倉(cāng)庫(kù)地址郑气。(此時(shí)私服倉(cāng)庫(kù)有可能支持快照也有可能不支持幅垮,主要看私服倉(cāng)庫(kù)配置)。
5部署構(gòu)件至Nexus
5.1需求說(shuō)明
- 對(duì)于Nexus的宿主倉(cāng)庫(kù)竣贪,他們的主要作用是存儲(chǔ)組織內(nèi)部的军洼,或者一些無(wú)法從公共倉(cāng)庫(kù)獲得的第三方構(gòu)件,供大家下載演怎,所以需要1.配置maven自動(dòng)不熟構(gòu)件到nexus的宿主倉(cāng)庫(kù)中匕争。2.或者通過(guò)界面手動(dòng)上傳構(gòu)件。
5.2部署Maven項(xiàng)目構(gòu)件至Nexus
開(kāi)發(fā)生成的快照版本部署到Nexus中策略為Snapshot的宿主倉(cāng)庫(kù)中爷耀,項(xiàng)目正式發(fā)布的構(gòu)件則應(yīng)該部署到Nexus中策略為Release的宿主倉(cāng)庫(kù)中甘桑。
5.2.1獲取Nexus中確定要部署的宿主倉(cāng)庫(kù)的連接
http://localhost:8081/repository/maven-releases/
http://localhost:8081/repository/maven-snapshots/
5.2.2配置項(xiàng)目pom
<!--配置項(xiàng)目生成的構(gòu)件部署到Nexus私服上 -->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus ReleaseRepository</name>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus SnapshotsRepository</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
5.2.3在settings.xml配置倉(cāng)庫(kù)認(rèn)證信息
因?yàn)椴皇撬腥硕伎梢圆渴饦?gòu)件到nexus倉(cāng)庫(kù)中的,關(guān)于認(rèn)證信息就是擁有管理該倉(cāng)庫(kù)的用戶,在下面有講跑杭。
<settings>
....
<servers>
<!--配置nexus倉(cāng)庫(kù)認(rèn)證信息-->
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>****</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>****</password>
</server>
</servers>
...
</settings>
5.2.4使用mvn命令
在項(xiàng)目根目錄下執(zhí)行部署命令铆帽,或者在開(kāi)發(fā)工具中執(zhí)行部署命令
mvn clean deploy
5.3手動(dòng)部署第三方構(gòu)件至Nexus倉(cāng)庫(kù)
- 對(duì)于一些開(kāi)源或者有版權(quán)的jar文件,他們?cè)谶h(yuǎn)程倉(cāng)庫(kù)沒(méi)有德谅,所以只能將他們先下載下來(lái)爹橱,再手動(dòng)上傳到nexus私服上。
5.3.1確定Nexus中要部署的3rd-party宿主倉(cāng)庫(kù)連接
該宿主倉(cāng)庫(kù)一般轉(zhuǎn)為用來(lái)存放第三方構(gòu)件的倉(cāng)庫(kù)窄做。
http://localhost:8081/repository/3rd-party/
5.3.2在settings.xml配置3rd-party倉(cāng)庫(kù)認(rèn)證信息
該信息在下面使用
<server>
<id>nexus-3rd-party</id>
<username>admin</username>
<password>admin123</password>
</server>
5.3.3命令行部署到nexus上
通過(guò)命令行來(lái)操作部署G:\5jar\edu.mit.jwi_2.3.3_jdk.jar目錄下的jar包到nexus的3rd-party倉(cāng)庫(kù)中愧驱。
其中需要你自定義groupId,artifactId,version,packaging信息。其中的-Dfile填寫(xiě)jar的位置椭盏,-Durl填寫(xiě)nexus中3rd-party的連接组砚,-DrepositoryId填寫(xiě)在settings.xml配置的認(rèn)證信息的id。
mvn deploy:deploy-file -Dfile=G:\5jar\edu.mit.jwi_2.3.3_jdk.jar -DgroupId=local.edu.stanford -DartifactId=edu.mit.jwi_jdk -Dversion=2.3.3 -Dpackaging=jar -Durl=http://localhost:8081/repository/3rd-party/ -DrepositoryId=nexus-3rd-party
部署成功
- 3rd-party倉(cāng)庫(kù)設(shè)置了相同依賴(lài)不允許重復(fù)部署掏颊,所以再次部署會(huì)失敗糟红。
關(guān)于部署第三方構(gòu)件到本地倉(cāng)庫(kù),請(qǐng)查看maven---6倉(cāng)庫(kù)---->3.2.2.3安裝第三方構(gòu)件到本地倉(cāng)庫(kù)
6Nexus的權(quán)限管理
6.1需求
處于安全考慮,在組織內(nèi)部中如果希望只有管理員才能配置Nexus乌叶,只有某些團(tuán)隊(duì)成員才能部署構(gòu)件盆偿,或者更細(xì)要求,例如每個(gè)項(xiàng)目都有自己的Nexus宿主倉(cāng)庫(kù)枉昏,且只能部署項(xiàng)目構(gòu)件至該倉(cāng)庫(kù)陈肛,Nexus提供了全面的權(quán)限控制特性,能讓用戶自由根據(jù)需求配置Nexus用戶(user)兄裂、角色(role)、權(quán)限(privilege).
6.2介紹
6.1.1權(quán)限privilege
- Nexus是基于權(quán)限(privilege)做訪問(wèn)控制的阳藻,服務(wù)器每一個(gè)資源都有相應(yīng)的權(quán)限來(lái)控制晰奖,用戶只需特定操作必要擁有必要的權(quán)限。
6.1.2角色(role)
- 管理員必須以角色(role)的方式將權(quán)限賦予Nexus用戶腥泥,例如訪問(wèn)nexus中搜索頁(yè)面需要nx-search-read權(quán)限匾南,而nexus中配置的角色nx-anonymous角色就擁有該權(quán)限,將這個(gè)角色分配給某個(gè)用戶就可以訪問(wèn)nexus中搜索頁(yè)面了蛔外。角色還可以包含一個(gè)或多個(gè)角色蛆楞。
6.1.3用戶(user)
-
用戶可以被賦予一個(gè)或多個(gè)角色,角色可以包含一個(gè)或者多個(gè)權(quán)限夹厌,角色可以包含一個(gè)或多個(gè)其它角色豹爹。
7Nexus的調(diào)度任務(wù)
- Nexus提供了一系列可配置的調(diào)度任務(wù)來(lái)方便用戶管理系統(tǒng),用戶可以設(shè)定這些任務(wù)運(yùn)行方式矛纹,例如:每天臂聋、每周、手動(dòng)等,任務(wù)調(diào)度會(huì)在適當(dāng)?shù)臅r(shí)候在后臺(tái)運(yùn)行孩等,當(dāng)然用戶還是能夠在界面觀察他們的狀態(tài)艾君。
-
Nexus包含了以下幾種類(lèi)型的調(diào)度任務(wù):
-
創(chuàng)建任務(wù)
8其他私服軟件
還沒(méi)接觸....
留言
有什么不懂的一起探討一下吧,歡迎留下寶貴意見(jiàn)肄方,喜歡就點(diǎn)個(gè)贊吧(哈哈)冰垄,多謝鼓勵(lì)。