介紹
maven,java包管理的神器,功能類似于php的composer,node的npm。
背景
maven的便捷使用過的人都知道,不過針對國內(nèi)環(huán)境,下載的速度你懂的。另外,針對比較保密的jar包,上傳到公共庫顯然是不合適的,為此,maven私有庫便體現(xiàn)出它的價(jià)值。簡而言之,在局域網(wǎng)內(nèi)搭建個(gè)中心倉庫,用以存放/緩存jar包,這樣,開發(fā)人員就無需外網(wǎng)下載資源。提升速度和安全性。節(jié)約了外網(wǎng)流量。
安裝
博主環(huán)境
win10 64
apache-maven-3.6.0
Nexus Repository Manager OSS 3.x - Windows
maven
安裝配置參考
2.從零開始學(xué)springboot-開發(fā)環(huán)境配置
Nexus 安裝(20200805 更新 docker安裝,推薦)
下載最新Nexus鏡像
docker pull sonatype/nexus3
生成容器
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
稍微等待一會(啟動需要時(shí)間)
而后訪問
注意, 最新的Nexus默認(rèn)密碼已不是admin123了, 我們需要進(jìn)入容器查看下
docker exec -it nexus /bin/bash
cd nexus-data/
cat admin.password
復(fù)制出密鑰串登陸即可, 登陸后會提示修改新密碼
Nexus 安裝(安裝包安裝)
下載地址 https://www.sonatype.com/download-oss-sonatype
解壓(博主:C:\nexus)
cmd切換到C:\nexus\bin目錄后執(zhí)行
nexus.exe/run

等待一會,出現(xiàn)

成功
注意,可能出現(xiàn)端口占用的錯(cuò)誤,此時(shí)不用急ctrl+c結(jié)束安裝過程,我們修改下配置文件的端口

重新運(yùn)行nexus.exe/run即可
打開瀏覽器訪問http://localhost:8090/

點(diǎn)擊右上方的"sign up",輸入默認(rèn)生成的賬號admin和密碼admin123登錄
Nexus配置
點(diǎn)擊上方小齒輪創(chuàng)建一個(gè)叫demo的倉庫(博主已經(jīng)創(chuàng)建了,所以截圖里有)



配置demo倉庫到maven-public,這樣統(tǒng)一由maven-public對外提供服務(wù)


倉庫創(chuàng)建完畢后我們創(chuàng)建一個(gè)用戶(demo,123456)


至此私有庫基本配置完畢
私有倉庫的使用
打開maven的配置文件錄入私有倉庫的賬號和密碼


接下來我們上傳jar包到私有倉庫demo
博主使用IDEA開發(fā),所以直接使用它創(chuàng)建了一個(gè)demo項(xiàng)目(內(nèi)容隨意)
pom.xml增加發(fā)布設(shè)置
<!--DistributionManagement發(fā)布管理節(jié)點(diǎn)-->
<distributionManagement>
<!--測試版?zhèn)}庫-->
<snapshotRepository>
<!--注意, 這里的設(shè)置要和maven setting.xml中一致-->
<id>demo</id>
<name>demo</name>
<url>http://127.0.0.1:8090/repository/demo/</url>
</snapshotRepository>
</distributionManagement>
IDEA點(diǎn)擊上傳(簡單, 推薦)

或者也可以執(zhí)行命令行上傳(此方式需要先編譯包)


直接在IDEA的teiminal執(zhí)行
mvn deploy:deploy-file -DgroupId=com.demo -DartifactId=demo -Dversion=0.0.1 -Dpackaging=jar -Dfile=D:\demo2\demo-0.0.1-SNAPSHOT.jar -Durl=http://localhost:8090/repository/demo/ -DrepositoryId=demo

標(biāo)紅部分記得替換為自己的路徑。
得到如下信息上傳成功

此時(shí)登錄nexus查看

至此,私有庫的上傳成功。
關(guān)于私有庫的引用就簡單多了,直接打開項(xiàng)目的pom.xml:加入以下配置即可:
<dependency>
<groupId> com.demo</groupId>
<artifacId>demo</artifacId>
<version> 0.0.1</version>
</dependency>
<repositories>
<repository>
<id>demo</id>
<name>demo</name>
<url>http://127.0.0.1:8090/repository/maven-public/</url>
<!--告訴Maven可以從這個(gè)倉庫下載releases版本的構(gòu)件-->
<releases>
<enabled>true</enabled>
</releases>
<!--告訴Maven不要從這個(gè)倉庫下載snapshot版本的構(gòu)件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
包的dependency信息可以在

找到
repository信息可以在

請關(guān)注我的訂閱號
