<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Maven實(shí)戰(zhàn)與原理分析(四):手把手帶你搭建maven私有倉(cāng)庫(kù)

          共 2582字,需瀏覽 6分鐘

           ·

          2021-12-27 15:38

          點(diǎn)擊上方“Java技術(shù)江湖”,選擇“設(shè)為星標(biāo)

          回復(fù)”666“獲取全網(wǎng)最熱的Java核心知識(shí)點(diǎn)整理


          Maven的原理就是將jar從遠(yuǎn)程中央倉(cāng)庫(kù)下載到PC磁盤(pán)的本地倉(cāng)庫(kù),當(dāng)本地倉(cāng)庫(kù)沒(méi)有發(fā)現(xiàn)需要的jar就會(huì)去Maven默認(rèn)的遠(yuǎn)程中央倉(cāng)庫(kù)Maven Central(由Apache維護(hù))中尋找,每次需要新的jar后都要從遠(yuǎn)程中央倉(cāng)庫(kù)上下載。那么問(wèn)題來(lái)了?這個(gè)遠(yuǎn)程的中央倉(cāng)庫(kù)一定有很多人使用那下載速度一定很慢,這個(gè)暫且不用考慮。重要的是萬(wàn)一哪天公司外網(wǎng)連不上了咋辦?而Nexus私服恰好可以解決這個(gè)問(wèn)題。搭建私服的好處是Nexus有效解決了Maven對(duì)Apache的遠(yuǎn)程中央倉(cāng)庫(kù)的依賴,當(dāng)項(xiàng)目需要新的jar時(shí)會(huì)先在nexus私服下載好以后才會(huì)下載到本地。如果發(fā)現(xiàn)私服已經(jīng)存在這個(gè)jar包,則會(huì)直接從私服下載到本地Maven庫(kù),如果沒(méi)有再去網(wǎng)絡(luò)上下載。同時(shí),我們也可打包自己的代碼變成jar包上傳到私服中供公司其他同事下載使用。

          準(zhǔn)備工作 安裝Nexus 之前先確定是否已經(jīng)安裝JDK,這里安裝的是jdk8版本(如何安裝JDK步驟敘述,)

          安裝Nexus nexus下載地址 下載完成后解壓安裝 解壓 tar -zvxf nexus-3.13.0-01-unix.tar.gz -C /opt/

          復(fù)制代碼 環(huán)境變量配置 vim /opt/nexus-3.13.0-01/bin/nexus

          //配置JDK 路徑
          INSTALL4J_JAVA_HOME_OVERRIDE=/opt/jdk1.8.0_181

          復(fù)制代碼 啟動(dòng)Nexus /opt/nexus-3.13.0-01/bin/nexus start 復(fù)制代碼

          瀏覽器打開(kāi)Nexus界面,默認(rèn)端口號(hào)是8081(注意需要判斷服務(wù)器是否開(kāi)通了該端口號(hào)的監(jiān)聽(tīng),這里我將默認(rèn)端口號(hào)改成9190) //加入9190端口的監(jiān)聽(tīng) vim /etc/sysconfig/iptables

          查看是否監(jiān)聽(tīng)端口(如果配置了自己定義的端口,需要先訪問(wèn)該端口一次才能看到監(jiān)聽(tīng))

          netstat -ntlp

          //重啟防火墻配置(不重啟端口還是無(wú)法生效)
          service iptables restart

          //修改端口號(hào)
          vim /opt/nexus-3.13.0-01/etc/nexus-default.properties

          //重啟Nexus
          /opt/nexus-3.13.0-01/bin/nexus restart

          Nexus其他命令

          //停止
          nexus stop

          //查看狀態(tài)
          nexus status

          默認(rèn)登錄用戶名密碼
          admin
          admin-123

          卸載
          rm -rf nexus-3.13刪除掉安裝目錄即可

          //可以看到Nexus在瀏覽器中可以打開(kāi)界面,部署成功,如下圖

          復(fù)制代碼

          配置jenkins,maven更新到Nexus私服 修改Jenkins服務(wù)器上的Maven的settings.xml文件(路徑是Maven安裝路徑 /opt/apache-maven-3.5.4/conf/),加入maven訪問(wèn)nexus認(rèn)證,訪問(wèn)Nexus的帳號(hào)密碼為上面登錄nexus的默認(rèn)登錄用戶名密碼

          maven 項(xiàng)目pom文件配置私服倉(cāng)庫(kù)nexuslocal nexushttp://xxxxx:9190/repository/maven-public/truenexuslocal nexushttp://xxxxx:9190/repository/maven-public/truefalse復(fù)制代碼 Nexus 默認(rèn)的三種類(lèi)型倉(cāng)庫(kù),創(chuàng)建倉(cāng)庫(kù)的時(shí)候可以選擇這三種 1.group(倉(cāng)庫(kù)組類(lèi)型):又叫組倉(cāng)庫(kù),用于方便開(kāi)發(fā)人員自己設(shè)定的倉(cāng)庫(kù);

          2.hosted(宿主類(lèi)型):內(nèi)部項(xiàng)目的發(fā)布倉(cāng)庫(kù)(內(nèi)部開(kāi)發(fā)人員,發(fā)布上去存放的倉(cāng)庫(kù))

          3.proxy(代理類(lèi)型):從遠(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ù)的路徑)

          復(fù)制代碼

          proxy(代理類(lèi)型) 這里就是代理的意思,代理遠(yuǎn)程中央 Maven 倉(cāng)庫(kù),當(dāng) 項(xiàng)目構(gòu)建訪問(wèn)中央庫(kù)的時(shí)候,先通過(guò)代理去遠(yuǎn)程中央倉(cāng)庫(kù)下載依賴包到Nexus 倉(cāng)庫(kù),然后再?gòu)腘exus倉(cāng)庫(kù)下載到本地。私服我們部署在內(nèi)網(wǎng)服務(wù)器,只要其中一個(gè)人從遠(yuǎn)程中央庫(kù)下來(lái)了,以后相同的依賴包就都是從Nexus私服上進(jìn)行下載,這樣大大加快下載速度,不怕遠(yuǎn)程中央倉(cāng)庫(kù)出現(xiàn)問(wèn)題。

          hosted(宿主類(lèi)型) 創(chuàng)建布和代理方式創(chuàng)建差不多 Hosted 是宿主機(jī)的意思,就是怎么把第三方的 Jar 放到私服上。Hosted 有三種方式,Releases、SNAPSHOT、Mixed group(倉(cāng)庫(kù)組類(lèi)型) 將其他倉(cāng)庫(kù)類(lèi)型合并一起(maven public就是group類(lèi)型),如圖所示將其他倉(cāng)庫(kù)合在一下提供對(duì)外使用

          倉(cāng)庫(kù)屬性說(shuō)明 maven-central:maven中央庫(kù),默認(rèn)從https://repo1.maven.org/maven2/拉取jar maven-releases:私庫(kù)發(fā)行版jar maven-snapshots:私庫(kù)快照(調(diào)試版本)jar maven-public:倉(cāng)庫(kù)分組,把上面三個(gè)倉(cāng)庫(kù)組合在一起對(duì)外提供服務(wù),在本地maven基礎(chǔ)配置settings.xml中使用。Nexus jar 包上傳與刪除 上傳jar包 如果我們使用的遠(yuǎn)程maven中心庫(kù)有jar包無(wú)法下載,或者是我們自己編譯好的jar包提供給公司其他人,則可以將本地jar包上傳到私服倉(cāng)庫(kù)

          私服jar刪除 私服jar出現(xiàn)問(wèn)題,我們也可以刪除私服的jar包重新下載或自行上傳

          到此,Nexus搭建Maven私服服務(wù)已經(jīng)完成.

          作者:maoqitian 鏈接:https://juejin.cn/post/6844903879910359047 來(lái)源:稀土掘金 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。


          關(guān)注公眾號(hào)【Java技術(shù)江湖】后回復(fù)“PDF”即可領(lǐng)取200+頁(yè)的《Java工程師面試指南》

          強(qiáng)烈推薦,幾乎涵蓋所有Java工程師必知必會(huì)的知識(shí)點(diǎn),不管是復(fù)習(xí)還是面試,都很實(shí)用。



          689f1eba19692016888d5d77fe40d97f.webp

          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三级片影音先锋 | 91人妻人人操 | 国产高清无码视频在线播放 | 美女插逼| 韩国三级影音先锋 |