網站首頁 編程語言 正文
1. 概述
私服就是企業搭建供內部使用的一個Maven倉庫,實現企業內部依賴的共享,具有降低中央倉庫負荷、節省外網寬帶和提高項目穩定性等優點。實際開發中服務器不能訪問公網,可以通過一臺能訪問外網的服務器作為代理服務器下載需要的依賴。Nexus是Sonatype公司發布的一款倉庫管理軟件,常用于搭建Maven私服。更多詳情,可以訪問官網
2. 環境要求
Nexus依賴于Java8,所以需要提前搭建好Java環境,CPU數最低為4
內存最低要求8GB
3. 安裝Nexus
3.1. 下載安裝包
從官網下載最新安裝包
選擇適合的版本,點擊下載鏈接即可,注意下載速度很慢,可以通過專門下載工具進行快速下載
3.2. 解壓
將下載的安裝壓縮包解壓到指定目錄,如果是Linux服務器安裝,需要先將壓縮包上傳到服務器目錄再解壓,解壓后目錄如下:
nexus-3.38.1-01:包含Nexus運行所需的文件以及所有必需的其他組件,如啟動腳本、依賴jar包等
sonatype-work:包含由Nexus存儲和管理的倉庫、組件和其他數據
3.3. 啟動Nexus
進入nexus-3.38.1-01/bin目錄下,執行./nexus start
命令啟動Nexus
執行./nexus status
可以查看啟動狀態
使用netstat -anp | grep java
命令查看端口占用情況,可以看到8081端口
在Windows環境中,在bin目錄下執行nexus /run啟動Nexus
3.4. 訪問Nexus首頁
瀏覽器地址輸入http://ip:8081,初始化界面如下
初始化完成后,進入首頁
3.5. 初始設置
點擊右上角Sign in
輸入用戶名/密碼,默認用戶名是admin,默認密碼如提示的/sonatype-work/nexus3/admin.password
直接點擊Next,進入下一步
輸入新密碼,點擊Next,進入下一步
勾選禁用匿名訪問選項,點擊Next,進入下一步
點擊Finish即可
登陸后的界面如下
4. Maven項目接入Nexus
4.1. 通過Nexus下載jar包
倉庫類型說明
proxy:某個遠程倉庫代理
group:存放通過Nexus獲取的第三方jar包
hosted:存放本團隊開發人員部署到Nexus的jar包
倉庫名稱說明
maven-central:Nexus對Maven中央倉庫代理
maven-public:Nexus默認創建,供開發人員下載使用的組倉庫
maven-releases:Nexus默認創建,供開發人員部署jar包的宿主倉庫要求release版本
maven-snapshots:Nexus默認創建,供開發人員部署jar包的宿主倉庫要求snapshots版本
初始狀態時,以上幾個倉庫都沒有依賴
使用本地Maven空倉庫
<localRepository>E:\Java\repository-3.8.5</localRepository>
在mirrors標簽中添加Nexus庫
<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標簽配置用戶信息
<server>
<id>nexus-mine</id>
<username>admin</username>
<password>123456</password>
</server>
注意:server標簽的id標簽值必須與mirror標簽的id標簽值一致
在maven項目中執行mvn clean compile
命令,下載依賴后,Nexus服務器就有jar包
4.2. 將jar包部署到Nexus
在maven項目中配置如下信息
<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 標簽也必須和 settings.xml 中指定的 mirror 標簽的 id 屬性一致
執行部署命令
mvn deploy
查看Nexus服務器上maven-snapshots倉庫
4.3. 引用他人部署的jar包
在maven項目中引入如下配置
<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倉庫配置
Nexus的遠程倉庫默認為中央倉庫,訪問較慢,可以修改為國內的阿里云倉庫
點擊進入,修改遠程中央倉庫配置
4.5. 上傳jar依賴
對于不能從中央倉庫獲取的第三方依賴,可以直接上傳到Nexus私庫
選擇maven-releases倉庫進入,選擇需要上傳的jar包
原文鏈接:https://blog.csdn.net/liu320yj/article/details/124915298
- 上一篇:deepstream 問題
- 下一篇:查看 jvm 參數
相關推薦
- 2022-04-19 8個實用的Python程序你知道幾個_python
- 2024-03-14 AOP切面編程,以及自定義注解實現切面
- 2022-07-30 Redis如何使用HyperLogLog的實現_Redis
- 2022-10-10 python?pandas數據處理之刪除特定行與列_python
- 2022-05-29 Linux系統通過Docker安裝SQL?Server數據庫_docker
- 2022-08-05 C語言簡明介紹常見關鍵字的用法_C 語言
- 2022-09-02 docker搭建redis哨兵集群并且整合springboot的實現_docker
- 2023-01-15 React?Fiber樹的構建和替換過程講解_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支