配置之前,我們先來看看系統默認創建的都有哪些
其中圈起來的都是系統原有的,用不到,就全刪掉,重新創建。
1,創建blob存儲
2,創建hosted類型的maven
點擊 Repository
下面的 Repositories
– Create repository – maven2(hosted)
:
Name
: 定義一個名稱maven-local
Online
: 勾選。這個開關可以設置這個maven repo是在線還是離線。
Maven2
:這里有三種方式,Releases、SNAPSHOT、Mixed。
- Releases: 一般是已經發布的Jar包
- Snapshot: 未發布的版本
- Mixed:混合的
這里不做設置,默認即可。
Storage
Blob store,我們下拉選擇前面創建好的專用blob:maven-use。
Hosted
開發環境,我們運行重復發布,因此Delpoyment policy 我們選擇Allow redeploy。這個很重要!
3,創建一個proxy類型的maven倉庫。
proxy的功能就是代理中央Maven倉庫,當PC訪問中央庫的時候,先通過Proxy下載到Nexus倉庫,然后再從Nexus倉庫下載到PC本地。
這樣的優勢只要其中一個人從中央庫下來了,以后大家都是從Nexus私服上進行下來,私服一般部署在內網,這樣大大節約的寬帶。
Name
: proxy-maven
Maven 2
: 不設置,使用默認。
Proxy
Remote Storage: 遠程倉庫地址,這里填寫: https://repo1.maven.org/maven2/
Storage
: maven-use。
整體配置截圖如下:
4,創建一個group類型的maven倉庫。
group類型的maven倉庫,是一個聚合類型的倉庫。它可以將前面我們創建的2個倉庫聚合成一個URL對外提供服務,可以屏蔽后端的差異性,實現類似透明代理的功能。后面通過一些配置,大家可能會對這個group有更加深入的了解。
Name
:group-maven
Storage
:選擇專用的blob存儲maven-use。
group
: 將左邊可選的2個倉庫,添加到右邊的members下。
整體配置截圖如下:
這樣配置以后,我們就可以使用了。
5,驗證使用
使用起來其實非常簡單,就是在測試機器上安裝maven工具,然后再其配置當中,將地址指向我們的私服地址,然后編譯項目,這個時候就會通過私服來拉取jar包了,以后再編譯的時候,就可以直接從本地私服拉取了。
現在找一台測試機器,進行驗證。
1.測試主機安裝jdk
2.測試主機安裝maven
3.更改maven的配置
將項目編譯依賴地址指向改成私服的配置,需要通過更改maven的配置實現,也就是更改maven/conf/settings.xml的倉庫地址。
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://192.168.75.11:8081/repository/group-maven/</url>
</mirror>
4,拉取項目編譯。
拉取之后,進到項目里邊,開始編譯。
請注意,這個時候,我們的group里邊是空空如也的。
找一個springboot項目,地址:https://start.spring.io/
那么接下來開始編譯:
unzip demo.zip
cd demo
mvn install -e
接下來就會進入各種依賴下載的界面
這個時候我們可以明白,其實我新搭建的倉庫里邊是空的,那么這會兒的流程就是經由group,轉向我們配置的proxy,私服在通過proxy拉取遠程的jar,然后再經由group,反饋給當前的項目。
去私服里看看:
可以看到剛剛編譯過程中所下載的jar,都如我們所想的呈現在了group當中,明明是通過proxy下載的遠程jar,為何可以在group里邊看到呢,我想,這就是我剛剛說的,group的妙處所在吧。
maven私服的基本框架已經搭成,當某一些jar無法下載的時候,一般情況下的解決辦法都是通過手動下載,然后再手動上傳到私服當中。