日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Sonatype Nexus搭建Maven私服

作者:乘著清風(fēng)寫(xiě)程序 更新時(shí)間: 2022-07-11 編程語(yǔ)言

1. 概述

私服就是企業(yè)搭建供內(nèi)部使用的一個(gè)Maven倉(cāng)庫(kù),實(shí)現(xiàn)企業(yè)內(nèi)部依賴的共享,具有降低中央倉(cāng)庫(kù)負(fù)荷、節(jié)省外網(wǎng)寬帶和提高項(xiàng)目穩(wěn)定性等優(yōu)點(diǎn)。實(shí)際開(kāi)發(fā)中服務(wù)器不能訪問(wèn)公網(wǎng),可以通過(guò)一臺(tái)能訪問(wèn)外網(wǎng)的服務(wù)器作為代理服務(wù)器下載需要的依賴。Nexus是Sonatype公司發(fā)布的一款倉(cāng)庫(kù)管理軟件,常用于搭建Maven私服。更多詳情,可以訪問(wèn)官網(wǎng)
nexus官網(wǎng)

2. 環(huán)境要求

Nexus依賴于Java8,所以需要提前搭建好Java環(huán)境,CPU數(shù)最低為4
CPU要求
內(nèi)存最低要求8GB
內(nèi)存要求

3. 安裝Nexus

3.1. 下載安裝包

從官網(wǎng)下載最新安裝包
下載安裝包
選擇適合的版本,點(diǎn)擊下載鏈接即可,注意下載速度很慢,可以通過(guò)專門(mén)下載工具進(jìn)行快速下載

3.2. 解壓

將下載的安裝壓縮包解壓到指定目錄,如果是Linux服務(wù)器安裝,需要先將壓縮包上傳到服務(wù)器目錄再解壓,解壓后目錄如下:
解壓后目錄
nexus-3.38.1-01:包含Nexus運(yùn)行所需的文件以及所有必需的其他組件,如啟動(dòng)腳本、依賴jar包等
sonatype-work:包含由Nexus存儲(chǔ)和管理的倉(cāng)庫(kù)、組件和其他數(shù)據(jù)

3.3. 啟動(dòng)Nexus

進(jìn)入nexus-3.38.1-01/bin目錄下,執(zhí)行./nexus start命令啟動(dòng)Nexus
啟動(dòng)Nexus
執(zhí)行./nexus status可以查看啟動(dòng)狀態(tài)
啟動(dòng)狀態(tài)
使用netstat -anp | grep java命令查看端口占用情況,可以看到8081端口
在Windows環(huán)境中,在bin目錄下執(zhí)行nexus /run啟動(dòng)Nexus
啟動(dòng)nexus

3.4. 訪問(wèn)Nexus首頁(yè)

瀏覽器地址輸入http://ip:8081,初始化界面如下
初始化界面
初始化完成后,進(jìn)入首頁(yè)
首頁(yè)

3.5. 初始設(shè)置

點(diǎn)擊右上角Sign in
登陸
輸入用戶名/密碼,默認(rèn)用戶名是admin,默認(rèn)密碼如提示的/sonatype-work/nexus3/admin.password
setup
直接點(diǎn)擊Next,進(jìn)入下一步
修改密碼
輸入新密碼,點(diǎn)擊Next,進(jìn)入下一步
禁用匿名訪問(wèn)
勾選禁用匿名訪問(wèn)選項(xiàng),點(diǎn)擊Next,進(jìn)入下一步
Finish
點(diǎn)擊Finish即可
登陸后的界面如下
登陸后首頁(yè)

4. Maven項(xiàng)目接入Nexus

4.1. 通過(guò)Nexus下載jar包

maven庫(kù)
倉(cāng)庫(kù)類型說(shuō)明
proxy:某個(gè)遠(yuǎn)程倉(cāng)庫(kù)代理
group:存放通過(guò)Nexus獲取的第三方j(luò)ar包
hosted:存放本團(tuán)隊(duì)開(kāi)發(fā)人員部署到Nexus的jar包
倉(cāng)庫(kù)名稱說(shuō)明
maven-central:Nexus對(duì)Maven中央倉(cāng)庫(kù)代理
maven-public:Nexus默認(rèn)創(chuàng)建,供開(kāi)發(fā)人員下載使用的組倉(cāng)庫(kù)
maven-releases:Nexus默認(rèn)創(chuàng)建,供開(kāi)發(fā)人員部署jar包的宿主倉(cāng)庫(kù)要求release版本
maven-snapshots:Nexus默認(rèn)創(chuàng)建,供開(kāi)發(fā)人員部署jar包的宿主倉(cāng)庫(kù)要求snapshots版本
初始狀態(tài)時(shí),以上幾個(gè)倉(cāng)庫(kù)都沒(méi)有依賴
空倉(cāng)庫(kù)
使用本地Maven空倉(cāng)庫(kù)

<localRepository>E:\Java\repository-3.8.5</localRepository>

在mirrors標(biāo)簽中添加Nexus庫(kù)

<mirror>
	<id>nexus-mine</id>
	<mirrorOf>central</mirrorOf>
	<name>Nexus mine</name>
	<url>http://xx.xx.xx.xx:8081/repository/maven-public/</url>
</mirror>

在servers標(biāo)簽配置用戶信息

<server>
	<id>nexus-mine</id>
	<username>admin</username>
	<password>123456</password>
</server>

注意:server標(biāo)簽的id標(biāo)簽值必須與mirror標(biāo)簽的id標(biāo)簽值一致
在maven項(xiàng)目中執(zhí)行mvn clean compile命令,下載依賴后,Nexus服務(wù)器就有jar包
nexus倉(cāng)庫(kù)依賴

4.2. 將jar包部署到Nexus

在maven項(xiàng)目中配置如下信息

<distributionManagement>
    <snapshotRepository>
        <id>nexus-mine</id>
        <name>Nexus Snapshot</name>
        <url>http://xx.xx.xx.xx:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

snapshotRepository 的 id 標(biāo)簽也必須和 settings.xml 中指定的 mirror 標(biāo)簽的 id 屬性一致
執(zhí)行部署命令

mvn deploy

下載依賴
查看Nexus服務(wù)器上maven-snapshots倉(cāng)庫(kù)
上傳依賴

4.3. 引用他人部署的jar包

在maven項(xiàng)目中引入如下配置

<repositories>
    <repository>
        <id>nexus-mine</id>
        <name>Nexus Snapshot</name>
        <url>http://xx.xx.xx.xx:8081/repository/maven-snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

4.4. 修改Nexus倉(cāng)庫(kù)配置

Nexus的遠(yuǎn)程倉(cāng)庫(kù)默認(rèn)為中央倉(cāng)庫(kù),訪問(wèn)較慢,可以修改為國(guó)內(nèi)的阿里云倉(cāng)庫(kù)
修改倉(cāng)庫(kù)
點(diǎn)擊進(jìn)入,修改遠(yuǎn)程中央倉(cāng)庫(kù)配置
修改遠(yuǎn)程倉(cāng)庫(kù)地址

4.5. 上傳jar依賴

對(duì)于不能從中央倉(cāng)庫(kù)獲取的第三方依賴,可以直接上傳到Nexus私庫(kù)
上傳jar到nexus
選擇maven-releases倉(cāng)庫(kù)進(jìn)入,選擇需要上傳的jar包
上傳jar依賴

原文鏈接:https://blog.csdn.net/liu320yj/article/details/124915298

欄目分類
最近更新