一、私服環(huán)境搭建及配置
1、Docker search nexus

2、docker pull sonatype/nexus3

3、docker images|grep nexus

4、查看默認(rèn)登陸密碼(修改密碼后 該文件將會(huì)被刪掉)
docker exec -it 528099c655a69ab7610c2c67e85b4e9723a27c2da0bd967c37d1c2af9baa66ef /bin/bash
cd /opt/sonatype/sonatype-work/nexus3/

5、打開(kāi)瀏覽器
訪問(wèn)
http://192.168.50.100:8081/
登陸 輸入用戶名
amdin/c508c03f-0c5e-4ae8-a728-27128954b4ec
然后修改密碼
6、創(chuàng)建本地存儲(chǔ)庫(kù)

7、創(chuàng)建倉(cāng)庫(kù)

1)maven-central:maven中央庫(kù),默認(rèn)從
https://repo1.maven.org/maven2/拉取jar
2)maven-releases:私庫(kù)發(fā)行版jar
3)maven-snapshots:私庫(kù)快照(調(diào)試版本)jar
4)maven-public:倉(cāng)庫(kù)分組,把上面三個(gè)倉(cāng)庫(kù)組合在一起對(duì)外提供服務(wù),在本地maven基礎(chǔ)配置settings.xml中使用
nexus默認(rèn)存在的倉(cāng)庫(kù)類型有以下四種
1)group(倉(cāng)庫(kù)組類型):又叫組倉(cāng)庫(kù),用于方便開(kāi)發(fā)人員自己設(shè)定的倉(cāng)庫(kù);
2)hosted(宿主類型):內(nèi)部項(xiàng)目的發(fā)布倉(cāng)庫(kù)(內(nèi)部開(kāi)發(fā)人員,發(fā)布上去存放的倉(cāng)庫(kù));
3)proxy(代理類型):從遠(yuǎn)程中央倉(cāng)庫(kù)中尋找數(shù)據(jù)的倉(cāng)庫(kù)(可以點(diǎn)擊對(duì)應(yīng)的倉(cāng)庫(kù)的Configuration頁(yè)簽下Remote Storage Location屬性的值即被代理的遠(yuǎn)程倉(cāng)庫(kù)的路徑);
4)virtual(虛擬類型):虛擬倉(cāng)庫(kù)(這個(gè)基本用不到,重點(diǎn)關(guān)注上面三個(gè)倉(cāng)庫(kù)的使用)
Policy(策略)
表示該倉(cāng)庫(kù)為發(fā)布(Release)版本倉(cāng)庫(kù)還是快照(Snapshot)版本倉(cāng)庫(kù);
Public Repositories下的倉(cāng)庫(kù)
1)3rd party: 無(wú)法從公共倉(cāng)庫(kù)獲得的第三方發(fā)布版本的構(gòu)件倉(cāng)庫(kù),即第三方依賴的倉(cāng)庫(kù),這個(gè)數(shù)據(jù)通常是由內(nèi)部人員自行下載之后發(fā)布上去;
2)Apache Snapshots: 用了代理ApacheMaven倉(cāng)庫(kù)快照版本的構(gòu)件倉(cāng)庫(kù)
3)Central: 用來(lái)代理maven中央倉(cāng)庫(kù)中發(fā)布版本構(gòu)件的倉(cāng)庫(kù)
4)Central M1 shadow: 用于提供中央倉(cāng)庫(kù)中M1格式的發(fā)布版本的構(gòu)件鏡像倉(cāng)庫(kù)
5)Codehaus Snapshots: 用來(lái)代理CodehausMaven 倉(cāng)庫(kù)的快照版本構(gòu)件的倉(cāng)庫(kù)
6)Releases: 內(nèi)部的模塊中release模塊的發(fā)布倉(cāng)庫(kù),用來(lái)部署管理內(nèi)部的發(fā)布版本構(gòu)件的宿主類型倉(cāng)庫(kù);release是發(fā)布版本;
Snapshots:發(fā)布內(nèi)部的SNAPSHOT模塊的倉(cāng)庫(kù),用來(lái)部署管理內(nèi)部的快照版本構(gòu)件的宿主類型倉(cāng)庫(kù);snapshots是快照版本,也就是不穩(wěn)定版本
8、創(chuàng)建releases庫(kù)



9、創(chuàng)建Snapshots庫(kù)

10、創(chuàng)建中央倉(cāng)庫(kù)


國(guó)外的中央倉(cāng)下載比較慢,可以使用國(guó)內(nèi)的中央倉(cāng),如下所示:
1、
http://www.sonatype.org/nexus/ 私服nexus工具使用
2、http://mvnrepository.com/ (推薦)
3、
http://repo1.maven.org/maven2
4、
http://maven.aliyun.com/nexus/content/groups/public/ 阿里云 )
5、
http://repo2.maven.org/maven2/ 私服nexus工具使用
6、
http://uk.maven.org/maven2/
7、
http://repository.jboss.org/nexus/content/groups/public
8、
http://maven.oschina.net/content/groups/public/ oschina
9、
http://mirrors.ibiblio.org/maven2/
10、
http://maven.antelink.com/content/repositories/central/
11、
http://nexus.openkoala.org/nexus/content/groups/Koala-release/
11、創(chuàng)建組倉(cāng)庫(kù),命名為owner-group


12、本地maven配置新的nexus倉(cāng)庫(kù)地址
復(fù)制owner-group的倉(cāng)庫(kù)地址


http://192.168.50.100:8081/repository/owner-group/
打卡本地的maven setting文件


配置優(yōu)先級(jí) pom.xml >
/home_dir/.m2/settings.xml >
/maven_dir/conf/settings.xml
正在下載maven依賴包


二、注意事項(xiàng)
1、手動(dòng)上傳jar包到私服

這里只能上傳release版本 不能上傳snapshot
- 可以手動(dòng)上傳
mvn deploy:deploy-file -DgroupId=com.chain.xinpools.utils -DartifactId=xinpools-utils -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=xinpools-utils-1.0-SNAPSHOT.jar -Durl=http://192.168.50.100:8081/repository/owner-snapshots/ -DrepositoryId=owner-snapshots

- 可以通過(guò)idea上傳

2、查看當(dāng)前生效的setting配置
3、文件名稱必須為settings.xml
4、idea中對(duì)于setting和資源庫(kù)路徑的配置優(yōu)先級(jí)高于setting文件中的配置
5、在pom配置了私服的訪問(wèn)地址 別忘記了 還需要在setting.xml中配置下對(duì)該私服的訪問(wèn)權(quán)限