一,為什麼要搭建Nexus
Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己内部倉庫的維護和外部倉庫的通路。利用Nexus你可以隻在一個地方就能夠完全控制通路 和部署在你所維護倉庫中的每個Artifact。
一句話概括:為了解決元件之間的jar包依賴管理。
二,環境準備
- Linux系統,centos 7
- jdk 1.8+
-
nexus (下載下傳位址:https://pan.baidu.com/s/1qr4-WR1ZrukenN-gsj18Ug
取件碼:1231)( 官網上下載下傳比較慢,我這裡已經下載下傳好放在網盤了)
- Maven (用戶端)
三,解壓安裝
- 在/usr/local下建立檔案夾nexus
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 - 使用Xftp工具将壓縮包複制到該目錄下并進行解壓
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 -
修改端口号
通路端口配置目錄:nexus-3.9.0-01/etc/nexus-default.properties
我這裡直接使用預設的8081Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 開放防火牆8081端口:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload
- “開箱即用”,直接啟動Nexus服務
進入到nexus-3.9.0-01的bin目錄下
啟動指令:./nexus start
其他指令:./nexus stop | restart | status 停止服務|重新開機|狀态
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 修改後啟動:Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 - 通路(ip:端口通路,出現如下頁面–>安裝成功)
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服
四,配置Nexus私服
1)在配置Nexus之前先了解Nexus的工作原理和倉庫類型
- 工作原理:
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 (圖檔來源:https://www.jianshu.com/p/1cfbc1518fce)
其實在項目中隻是将找依賴包這個工作交給我們的nexus了,找依賴流程:先在本地倉庫找,本地倉庫沒有再去我們的nexus私服找,那我們的nexus又怎麼找呢:私服倉庫組來負責,私服倉庫組先在私服本地倉庫找,私服本地倉庫沒有最後再去遠端倉庫(下面我們會配阿裡和maven遠端倉庫)
- Nexus倉庫類型:
- hosted,本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。
- proxy,代理倉庫,它們被用來代理遠端的公共倉庫,如maven中央倉庫。
- group,倉庫組,用來合并多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,隻需要引用一個group即可。
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服
2)建立代理倉庫
- 這一步隻需要在頁面上操作即可,注意先登入,預設賬号密碼:admin admin123
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 -
添加Jcenter阿裡雲倉庫:https://maven.aliyun.com/nexus/content/groups/public/
1,添加代理倉庫
2,選擇Maven代理倉庫Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 3,添加Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 點選下方藍色按鈕儲存。Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 - 添加maven中央倉庫:https://repo1.maven.org/maven2/ (如何發現已經有了就不需要再配,步驟一緻,換個倉庫名稱和位址即可)
- 将代理倉庫加入到私服倉庫組maven-public 到此,Nexus已經配置好了,下面我們要将這些配置到Maven的setting.xml中。
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服
3)配置Maven
修改setting.xml(修改前請建議先做備份)
修改的時候隻需要注意修改自己的IP位址和端口就可以了,url都是一樣的指向maven-public倉庫組,對着行号找添加相應的位置注意不要把标簽弄丢了,修改完可以将這個xml在編譯器中(比如idea)打開檢查是否報錯。
截圖說明及代碼:
<mirror>
<id>nexus-myself</id>
<mirrorOf>*</mirrorOf>
<name>Nexus myself</name>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
</mirror>
<profile>
<id>mycof</id>
<repositories>
<!-- 私有庫位址-->
<repository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--插件庫位址-->
<pluginRepository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!--激活profile-->
<activeProfiles>
<activeProfile>mycof</activeProfile>
</activeProfiles>
<!--配置上傳使用者權限及倉庫資訊-->
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
setting.xml修改配置完畢!
4)将本地jar包上傳到私服
- 在idea中建立一個Maven項目
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 - pom.xml加入下面兩段配置:
<repositories>
<repository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.56.80:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.56.80:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
- 執行maven的deploy指令 如果控制台出現了BUILD SUCCESS,并且沒有報錯說明上傳成功
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服 - 檢視私服中(maven-public)上傳好的依賴包。
Maven管理器 --Nexus 搭建一,為什麼要搭建Nexus二,環境準備三,解壓安裝四,配置Nexus私服
5)第三方jar包上傳
到這就完事了。