亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Nexus搭建Maven私服教程的方法步驟

 更新時(shí)間:2023年01月16日 10:02:18   作者:我認(rèn)不到你  
本文主要介紹了使用Nexus搭建Maven私服教程的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、基本介紹(Nexus(maven私服))

1,如果沒(méi)有搭建私服會(huì)有什么問(wèn)題?

  • 如果沒(méi)有私服,我們所需的所有構(gòu)件都需要通過(guò) Maven 的中央倉(cāng)庫(kù)或者第三方的 Maven 倉(cāng)庫(kù)下載到本地,而一個(gè)團(tuán)隊(duì)中的所有人都重復(fù)的從 Maven 倉(cāng)庫(kù)下載構(gòu)件無(wú)疑加大了倉(cāng)庫(kù)的負(fù)載和浪費(fèi)了外網(wǎng)帶寬,如果網(wǎng)速慢的話(huà),還會(huì)影響項(xiàng)目的進(jìn)程。
  • 另外,很多情況下項(xiàng)目的開(kāi)發(fā)都是在內(nèi)網(wǎng)進(jìn)行的,可能根本連接不了 Maven 的中央倉(cāng)庫(kù)和第三方的 Maven 倉(cāng)庫(kù)。
  • 我們開(kāi)發(fā)的公共構(gòu)件如果需要提供給其它項(xiàng)目使用,也需要搭建私服。

2,搭建私服的優(yōu)點(diǎn)

Maven 私服的概念就是在本地架設(shè)一個(gè) Maven 倉(cāng)庫(kù)服務(wù)器,在代理遠(yuǎn)程倉(cāng)庫(kù)的同時(shí)維護(hù)本地倉(cāng)庫(kù)。當(dāng)我們需要下載一些構(gòu)件(artifact)時(shí),如果本地倉(cāng)庫(kù)沒(méi)有,再去私服下載,私服沒(méi)有,再去中央倉(cāng)庫(kù)下載。這樣做會(huì)有如下一些優(yōu)點(diǎn):

  • 減少網(wǎng)絡(luò)帶寬流量
  • 加速 Maven 構(gòu)建
  • 部署第三方構(gòu)件
  • 提高穩(wěn)定性、增強(qiáng)控制
  • 降低中央倉(cāng)庫(kù)的負(fù)載

3,Nexus 介紹

Nexus 是一個(gè)專(zhuān)門(mén)的 Maven 倉(cāng)庫(kù)管理軟件,它不僅能搭建 Maven 私服,還具備如下一些優(yōu)點(diǎn)使其日趨成為最流行的 Maven 倉(cāng)庫(kù)管理器:

  • 提供了強(qiáng)大的倉(cāng)庫(kù)管理功能,構(gòu)件搜索功能
  • 它基于 REST,友好的 UI 是一個(gè) ext.js 的 REST 客戶(hù)端
  • 它占用較少的內(nèi)存
  • 基于簡(jiǎn)單文件系統(tǒng)而非數(shù)據(jù)庫(kù)

我的理解:平時(shí)我們用的是阿里的共用maven服務(wù)器,但是在公司時(shí),我們需要用到公司自研的jar包,這些jar包是私有的,所以在阿里的共用maven服務(wù)器中找不到,雖然我們也可以那個(gè)u盤(pán)來(lái)拷貝公司的私有jar包,但公司人這么多,一個(gè)個(gè)拷貝就太慢了,可以使用nexus搭建一個(gè)公司的私服,只需要連接公司的內(nèi)網(wǎng),配置好maven的settings.xml就可以在nexus中下載自己需要的jar包了

二、Nexus 服務(wù)的安裝(推薦第二種:使用docker方式安裝)

Nexus 既可以使用傳統(tǒng)的二進(jìn)制包進(jìn)行安裝,也可以使用 Docker 容器的方式進(jìn)行安裝運(yùn)行。下面分別介紹這兩種方法。

1,使用二進(jìn)制發(fā)行包安裝

(1)首先確保系統(tǒng) JDK 環(huán)境,具體安裝步驟可以參考我之前寫(xiě)的文章:

Java - CentOS下JDK的安裝教程 

(2)接著我們?cè)L問(wèn) Nexus 官網(wǎng)(點(diǎn)擊訪問(wèn)),點(diǎn)擊“GET REPOSITORY OSS”按鈕打開(kāi)下載頁(yè)面:

(3)根據(jù)環(huán)境選擇下載相應(yīng)的版本,比如我這里下載 Linux 版本的安裝包。

(4)將下載下來(lái)的壓縮包上傳到服務(wù)器(比如 /usr/local 目錄下),然后進(jìn)行解壓:

tar -zxf nexus-3.21.2-03-unix.tar.gz

5)解壓后會(huì)得到兩個(gè)文件夾:nexus-3.21.2-03nexus 服務(wù)目錄)、sonatype-work(私有庫(kù)目錄)

(6)進(jìn)入 nexus-3.21.2-03 文件夾,其中 etc/nexus-default.properties 文件配置端口(默認(rèn)為 8081)和 work 目錄信息,我們可以按需修改。

cd nexus-3.21.2-03``cat etc/nexus-``default``.properties

(7)然后執(zhí)行如下命令開(kāi)放 8081 端口:

firewall-cmd --permanent --add-port=``8081``/tcp``firewall-cmd --reload

(8)最后執(zhí)行如下命令啟動(dòng)服務(wù)即可:

cd bin``./nexus start

2,使用 Docker 鏡像進(jìn)行安裝(推薦)

(1)首先執(zhí)行如下命令下載 Nexus3 鏡像:

docker pull sonatype/nexus3

(2)接著執(zhí)行如下命令,創(chuàng)建宿主機(jī)掛載目錄:

mkdir` `–vp /usr/local/nexus-data

(3)最后執(zhí)行如下命令運(yùn)行 Nexus3 容器即可:

docker run -d --name nexus3 -p 8081:8081 -v /usr/local/nexus-data:/``var``/nexus-data sonatype/nexus3

(4)同樣不要忘記執(zhí)行如下命令開(kāi)放 8081 端口:

firewall-cmd --permanent --add-port=``8081``/tcp``firewall-cmd --reload

三、Nexus 服務(wù)的配置

(1)Nexus 服務(wù)啟動(dòng)以后,我們使用瀏覽器訪問(wèn) http://IP:8081/,點(diǎn)擊右上角登錄按鈕:

(2)首次登錄會(huì)提示密碼保存在 /usr/local/sonatype-work/nexus3/admin.password 文件中,我們查看服務(wù)器上這個(gè)文件內(nèi)容,然后作為密碼登錄:

(3)登錄后會(huì)讓我們?cè)O(shè)置新的密碼(這里我設(shè)置為 123):

(4)登錄后的界面如下:

(1)默認(rèn)倉(cāng)庫(kù)說(shuō)明:

maven-centralmaven 中央庫(kù),默認(rèn)從 https://repo1.maven.org/maven2/ 拉取 jarmaven-releases:私庫(kù)發(fā)行版 jar,初次安裝請(qǐng)將 Deployment policy 設(shè)置為 Allow redeploymaven-snapshots:私庫(kù)快照(調(diào)試版本)jarmaven-public:倉(cāng)庫(kù)分組,把上面三個(gè)倉(cāng)庫(kù)組合在一起對(duì)外提供服務(wù),在本地 maven 基礎(chǔ)配置 settings.xml 或項(xiàng)目 pom.xml 中使用

(2)倉(cāng)庫(kù)類(lèi)型說(shuō)明:

group:這是一個(gè)倉(cāng)庫(kù)聚合的概念,用戶(hù)倉(cāng)庫(kù)地址選擇 Group 的地址,即可訪問(wèn) Group 中配置的,用于方便開(kāi)發(fā)人員自己設(shè)定的倉(cāng)庫(kù)。maven-public 就是一個(gè) Group 類(lèi)型的倉(cāng)庫(kù),內(nèi)部設(shè)置了多個(gè)倉(cāng)庫(kù),訪問(wèn)順序取決于配置順序,3.x 默認(rèn)為 Releases、SnapshotsCentral,當(dāng)然你也可以自己設(shè)置。hosted:私有倉(cāng)庫(kù),內(nèi)部項(xiàng)目的發(fā)布倉(cāng)庫(kù),專(zhuān)門(mén)用來(lái)存儲(chǔ)我們自己生成的 jar 文件snapshots:本地項(xiàng)目的快照倉(cāng)庫(kù)releases: 本地項(xiàng)目發(fā)布的正式版本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 屬性的值即被代理的遠(yuǎn)程倉(cāng)庫(kù)的路徑),如可配置阿里云 maven 倉(cāng)庫(kù)central:中央倉(cāng)庫(kù)

(5)接下來(lái)我們?cè)黾右粋€(gè)代理倉(cāng)庫(kù),使用的是阿里云公共倉(cāng)庫(kù)。首先點(diǎn)擊“Create repository”按鈕開(kāi)始創(chuàng)建一個(gè)倉(cāng)庫(kù):

(6)類(lèi)型選擇 maven2proxy):

(7)配置阿里云地址 http://maven.aliyun.com/nexus/content/groups/public/name 可以隨意填(這里我寫(xiě) aliyun-proxy),然后點(diǎn)擊最下方按鈕創(chuàng)建:

(8)阿里云代理倉(cāng)庫(kù)創(chuàng)建完畢后,我們編輯 maven-public,將其添加到放入 group 中,并調(diào)整優(yōu)先級(jí),然后保存:

(9)點(diǎn)擊 maven-public 條目的 copy 按鈕即可拷貝私服地址:

附一:Maven 配置使用私服(下載依賴(lài))

1,基本說(shuō)明

(1)Maven 配置私服下載有兩種方式:

setting.xml:該文件配置的是全局模式pom.xml:該文件的配置的是項(xiàng)目獨(dú)享模式

注意:若 pom.xmlsetting.xml 同時(shí)配置了,以 pom.xml 為準(zhǔn)。

(2)當(dāng)我們?cè)?maven 使用 maven-public 倉(cāng)庫(kù)地址的時(shí)候,會(huì)按照如下順序訪問(wèn):本地倉(cāng)庫(kù) --> 私服 maven-releases --> 私服 maven-snapshots --> 遠(yuǎn)程阿里云 maven 倉(cāng)庫(kù) --> 遠(yuǎn)程中央倉(cāng)庫(kù)

2,通過(guò) setting.xml 文件配置

(1)setting.xml 文件配置樣例如下。配置后不需要再配置 pom.xml 文件,即可通過(guò)私服下載 jar 依賴(lài)包。

<mirrors>
    <mirror>
        <!--該鏡像的唯一標(biāo)識(shí)符。id用來(lái)區(qū)分不同的mirror元素。 -->
        <id>maven-public</id>
        <!--鏡像名稱(chēng) -->
        <name>maven-public</name>
        <!--*指的是訪問(wèn)任何倉(cāng)庫(kù)都使用我們的私服-->
        <mirrorOf>*</mirrorOf>
        <!--該鏡像的URL。構(gòu)建系統(tǒng)會(huì)優(yōu)先考慮使用該URL,而非使用默認(rèn)的服務(wù)器URL。 -->
        <url>http://192.168.60.133:8081/repository/maven-public/</url>     
    </mirror>
</mirrors>

(2)如果我們并沒(méi)有搭建私服,屬于個(gè)人開(kāi)發(fā),那么也可以直接配置使用阿里 云maven 倉(cāng)庫(kù):

<mirror>
  <id>nexus-aliyun</id>
  <name>Nexus aliyun</name>
  <mirrorOf>*</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

3,通過(guò) pom.xml 文件配置

(1)pom.xml 文件配置樣例如下。如果我們配置了 pom.xml,則以 pom.xml 為準(zhǔn)。

<repositories>
    <repository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://192.168.60.133:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

(2)如果沒(méi)有私服,我們同樣也可以配置阿里云 maven 倉(cāng)庫(kù):

<repositories>
   <repository>
      <id>maven-aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <releases>
         <enabled>true</enabled>
      </releases>
      <snapshots>
         <enabled>true</enabled>
         <updatePolicy>always</updatePolicy>
         <checksumPolicy>fail</checksumPolicy>
      </snapshots>
   </repository>
</repositories>

附二:Maven 配置使用私服(下載插件)

下面是一個(gè)使用 pom.xml 配置樣例:

<pluginRepositories>
    <pluginRepository>
        <id>maven-nexus</id>
        <name>maven-nexus</name>
        <url>http://10.172.0.201:8081/nexus/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

附三:Maven 配置使用私服(發(fā)布依賴(lài))

(1)首先修改 setting.xml 文件,指定 releasessnapshots server 的用戶(hù)名和密碼:

<servers>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>123</password>
    </server>
</servers>

(2)接著在項(xiàng)目的 pom.xml 文件中加入 distributionManagement 節(jié)點(diǎn):

注意repository 里的 id 需要和上一步里的 server id 名稱(chēng)保持一致。

<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>http://192.168.60.133:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshot</name>
        <url>http://192.168.60.133:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

(3)執(zhí)行 mvn deploy 命令發(fā)布:

(4)登錄 Nexus,查看對(duì)應(yīng)的倉(cāng)庫(kù)已經(jīng)有相關(guān)的依賴(lài)包了。

發(fā)布到的倉(cāng)庫(kù)說(shuō)明:

若項(xiàng)目版本號(hào)末尾帶有 -SNAPSHOT,則會(huì)發(fā)布到 snapshots 快照版本倉(cāng)庫(kù)若項(xiàng)目版本號(hào)末尾帶有 -RELEASES 或什么都不帶,則會(huì)發(fā)布到 releases 正式版本倉(cāng)庫(kù)

 到此這篇關(guān)于使用Nexus搭建Maven私服教程的方法步驟的文章就介紹到這了,更多相關(guān)Nexus搭建Maven私服內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ehcache模糊批量移除緩存的方法

    ehcache模糊批量移除緩存的方法

    本篇文章主要介紹了ehcache模糊批量移除緩存的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Java編程常見(jiàn)內(nèi)存溢出異常與代碼示例

    Java編程常見(jiàn)內(nèi)存溢出異常與代碼示例

    這篇文章主要介紹了Java編程常見(jiàn)內(nèi)存溢出異常與代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Spring 校驗(yàn)(validator,JSR-303)簡(jiǎn)單實(shí)現(xiàn)方式

    Spring 校驗(yàn)(validator,JSR-303)簡(jiǎn)單實(shí)現(xiàn)方式

    這篇文章主要介紹了Spring 校驗(yàn)(validator,JSR-303)簡(jiǎn)單實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java理論基礎(chǔ)Stream API終端操作示例解析

    java理論基礎(chǔ)Stream API終端操作示例解析

    這篇文章主要為大家介紹了java理論基礎(chǔ)Stream API終端操作示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • springboot自動(dòng)配置沒(méi)有生效的問(wèn)題定位(條件斷點(diǎn))

    springboot自動(dòng)配置沒(méi)有生效的問(wèn)題定位(條件斷點(diǎn))

    這篇文章主要介紹了springboot自動(dòng)配置未生效問(wèn)題定位,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來(lái)學(xué)習(xí)一下吧
    2019-06-06
  • Java如何向Word模板中插入Base64圖片和數(shù)據(jù)信息

    Java如何向Word模板中插入Base64圖片和數(shù)據(jù)信息

    這篇文章主要介紹了Java如何向Word模板中插入Base64圖片和數(shù)據(jù)信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 詳解Java中的實(shí)例初始化塊(IIB)

    詳解Java中的實(shí)例初始化塊(IIB)

    在本篇文章里我們針對(duì)Java中的實(shí)例初始化塊(IIB)做想詳細(xì)分析,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2018-10-10
  • SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄

    SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄

    微信的登錄功能是用戶(hù)注冊(cè)和使用微信的必經(jīng)之路之一,而微信授權(quán)登錄更是方便了用戶(hù)的登錄操作,本文主要介紹了SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄,感興趣的可以了解一下
    2023-09-09
  • Spring配置文件的超詳細(xì)圖文介紹

    Spring配置文件的超詳細(xì)圖文介紹

    Spring配置文件是一個(gè)或多個(gè)標(biāo)準(zhǔn)的XML文檔,下面這篇文章主要給大家介紹了關(guān)于Spring配置文件的超詳細(xì)圖文介紹,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • java類(lèi)的全限定名是什么

    java類(lèi)的全限定名是什么

    Java中的全限定名指的是包含包名和類(lèi)名的完整標(biāo)識(shí),例如“java.lang.String”,而非限定名僅指類(lèi)名,如“String”,全限定名用于區(qū)分不同包中相同名字的類(lèi),避免引用混淆,特別是在有多個(gè)包含相同類(lèi)名的庫(kù)時(shí)
    2024-09-09

最新評(píng)論