9. 從零開始學(xué)springboot-包管理神器-maven私庫的安裝和使用

介紹

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í)間)

而后訪問

http://localhost:8081/

注意, 最新的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
1.png

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


2.png

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


3.png

重新運(yùn)行nexus.exe/run即可

打開瀏覽器訪問http://localhost:8090/

4.png

點(diǎn)擊右上方的"sign up",輸入默認(rèn)生成的賬號admin和密碼admin123登錄

Nexus配置

點(diǎn)擊上方小齒輪創(chuàng)建一個(gè)叫demo的倉庫(博主已經(jīng)創(chuàng)建了,所以截圖里有)


5.png
6.png
7.png

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


8.png
9.png

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


10.png
11.png

至此私有庫基本配置完畢

私有倉庫的使用

打開maven的配置文件錄入私有倉庫的賬號和密碼


14.png
15.png

接下來我們上傳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)擊上傳(簡單, 推薦)


image.png

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


12.png
13.png

直接在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
16.png

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


17.png

此時(shí)登錄nexus查看


18.png

至此,私有庫的上傳成功。
關(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信息可以在


20.png

找到
repository信息可以在


21.png

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

訂閱號.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲所有項(xiàng)目使用到構(gòu)件,在ma...
    zlcook閱讀 6,453評論 0 25
  • 前言 ??什么是maven、gradle? ??Maven是一個(gè)項(xiàng)目管理和自動構(gòu)建工具。??Gradle是一個(gè)基于...
    XP2020閱讀 4,467評論 1 9
  • 首先私服是一種衍生出來的特殊的Maven遠(yuǎn)程倉庫,構(gòu)建私服的好處請看3.5私服 可以幫助大家建立私服的倉庫管理軟件...
    zlcook閱讀 10,824評論 0 32
  • ROYA梁閱讀 85評論 0 1
  • 天綴小湖幽山澗, 蹤勤芳徑水旁環(huán)。 泉攜落花窅然去, 弗疑桃園藏此山。 小湖盈虛幾道彎, 日映云天夜月涵。 兩只水...
    傲視五洲閱讀 360評論 0 0

友情鏈接更多精彩內(nèi)容