網(wǎng)站首頁(yè) 編程語(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)
2. 環(huán)境要求
Nexus依賴于Java8,所以需要提前搭建好Java環(huán)境,CPU數(shù)最低為4
內(nèi)存最低要求8GB
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
執(zhí)行./nexus status
可以查看啟動(dòng)狀態(tài)
使用netstat -anp | grep java
命令查看端口占用情況,可以看到8081端口
在Windows環(huán)境中,在bin目錄下執(zhí)行nexus /run啟動(dòng)Nexus
3.4. 訪問(wèn)Nexus首頁(yè)
瀏覽器地址輸入http://ip:8081,初始化界面如下
初始化完成后,進(jìn)入首頁(yè)
3.5. 初始設(shè)置
點(diǎn)擊右上角Sign in
輸入用戶名/密碼,默認(rèn)用戶名是admin,默認(rèn)密碼如提示的/sonatype-work/nexus3/admin.password
直接點(diǎn)擊Next,進(jìn)入下一步
輸入新密碼,點(diǎn)擊Next,進(jìn)入下一步
勾選禁用匿名訪問(wèn)選項(xiàng),點(diǎn)擊Next,進(jìn)入下一步
點(diǎn)擊Finish即可
登陸后的界面如下
4. Maven項(xiàng)目接入Nexus
4.1. 通過(guò)Nexus下載jar包
倉(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)有依賴
使用本地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包
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ù)
點(diǎn)擊進(jìn)入,修改遠(yuǎn)程中央倉(cāng)庫(kù)配置
4.5. 上傳jar依賴
對(duì)于不能從中央倉(cāng)庫(kù)獲取的第三方依賴,可以直接上傳到Nexus私庫(kù)
選擇maven-releases倉(cāng)庫(kù)進(jìn)入,選擇需要上傳的jar包
原文鏈接:https://blog.csdn.net/liu320yj/article/details/124915298
- 上一篇:deepstream 問(wèn)題
- 下一篇:查看 jvm 參數(shù)
相關(guān)推薦
- 2022-06-02 了解Kubernetes中的Service和Endpoint_云和虛擬化
- 2023-03-20 C#如何遠(yuǎn)程讀取服務(wù)器上的文本內(nèi)容_C#教程
- 2022-04-16 C++中allocator類使用示例_C 語(yǔ)言
- 2024-01-10 Springboot應(yīng)用中@EntityScan和@EnableJpaRepositories的用法
- 2022-10-24 UI?開(kāi)源組件Flutter圖表范圍選擇器使用詳解_Android
- 2022-06-01 C語(yǔ)言的動(dòng)態(tài)內(nèi)存管理你了解嗎_C 語(yǔ)言
- 2022-04-01 C#實(shí)現(xiàn)給PDF文檔設(shè)置過(guò)期時(shí)間_C#教程
- 2023-03-19 Android大作業(yè)功能設(shè)計(jì)之自動(dòng)登錄和記住密碼_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支