參考鏈接:https://blog.csdn.net/silence_jjj/article/details/77531916
nexus3創建maven私有倉庫(windows)
1.官網:https://www.sonatype.com/download-oss-sonatype
2、解壓nexus3的zip包,找到\nexus-3.3.1-01\bin文件夾,shift+右鍵 -> 在此處打開命令窗口
3、在cmd中輸入 nexus.exe/run ,然后回車
4、等待幾分鍾后,控制台出現“Started Sonatype Nexus OSS 3.3.1-01”表示啟動成功,並且在bin文件夾下生成“nexus.vmoptions”文件,該文件為配置文件。
5、打開瀏覽器,訪問http://localhost:8081/ 默認8081端口。
安裝成功。安裝成功后就是怎樣去使用。
使用教程參考:https://m.aliyun.com/yunqi/articles/319799
6、配置nexus和熟悉它
第一步,跟隨着說明文檔,看看下載nexus下來之后,有兩個目錄
這里就參考源文檔即可。
不詳細講解。
如何改變端口號也在此處,就是nexus-default.properties文件中,更改端口號。
7、登陸
在瀏覽器上輸入地址:http://127.0.0.1:8081/ 打開nexus管理頁面
默認登錄是游客身份:anonymous,可以查看倉庫並下載依賴,但不能配置nexus
使用管理員身份登錄,帳號:admin,密碼:admin123
8、管理repository
首先按照下圖找到repository
顯示界面:
repositorie有三種類型(這里是兩套說法 我都放進來有助於理解)
group:是一個倉庫組,可包含hosted和proxy兩種庫,下載時按配置順序從中依次查找
hosted:內部庫,部署內部項目的jar包,或第三方的私有的jar包
proxy:代理遠程倉庫,maven-central是默認maven中央倉庫代理,通過代理從遠程庫中下載的依賴都會被緩存到proxy庫中
【代理資源庫】proxy:當用戶向proxy請求一個資源時,proxy會先在本地倉庫中尋找是否有該資源,沒有的話會從遠程倉庫下載,然后返回給用戶;同時會緩存在本地,下次用戶再請求相同資源時,就可以直接在本地中找到並返回給用戶。proxy起到一層緩存與中轉的作用。
【托管資源庫】hosted:專門存放無法從遠程倉庫中下載的構件或者公司內部自主開發的一些構件。當hosted倉庫找不到目標構件時,並不能從遠程倉庫下載。並且想要將內部開發構件上傳到maven倉庫,三種倉庫中只能使用hosted。
【組資源庫】group:從上面①+②看出來,其實組資源庫中並沒有jar包,而是把代理資源庫和托管資源庫統一配置到組資源庫中,然后組資源庫作為一個唯一的public提供給所有人使用。
9、創建repository
①在創建 repository之前,還是需要先設定一個指定的文件存儲目錄,便於統一管理。(當然了如果只想用默認的,可以忽略創建)
創建完成后的顯示以及磁盤顯示:
②第二步,創建Proxy Repository 代理資源庫
首先我們要創建的就是阿里的maven代理倉庫,默認的中央倉庫代理maven-central連接的是國外的庫,連接很慢,阿里雲倉庫是國內的庫連接速度快,需要創建阿里雲代理庫。
可以看到在創建時,有三部分需要我們必須填寫。
在具體配置頁面取名aliyun-repository,這里建議用a開頭(估計按字母排序將它排第一位)。
URL輸入:http://maven.aliyun.com/nexus/content/groups/public/
Blob store:選擇剛才創建的或者我們比較討厭創建,那么就直接默認就可以。
創建完了可不要就認為完事了,還有一步,就是將創建的阿里雲倉庫置頂。
點進去:
通過綠色框將我們的配置文件挪到右上角
這樣就算是完成了。
給大家一些maven遠程倉庫的地址:
jboss的maven中央倉庫地址:http://repository.jboss.com/maven2/
阿里雲的maven中央倉庫地址:http://maven.aliyun.com/nexus/content/groups/public/
apache的maven中央倉庫地址:http://repo.maven.apache.org/maven2/
③第三步,創建hosted repository 托管資源庫
這其實和上面都差不多:
Hosted有三種方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已經發布的Jar包
Snapshot: 未發布的版本
Mixed:混合的
④第四步,創建group repository 組資源庫
注意順序:hosted與proxy的順序
官方文檔中建議:
It is recommended practice to place hosted repositories higher in the list than proxy repositories. For proxy repositories, the repository manager needs to check the remote repository which will incur more overhead than a hosted repository lookup.
希望將hosted repositories【托管資源庫】的順序放在proxy repositories【代理資源庫】之前,因為一個group【組資源庫】中可以涵括這些托管資源庫和代理資源庫。而一整個的group是作為一個public,一個接口給別人使用的。所以當查找架包的時候,如果代理資源庫在前面,那就是先從遠程去查找jar,而不是先從托管資源庫(本地倉庫)去查找是否有jar。這樣訪問外網的消耗比起來在本地查找,當然是將托管資源庫放在代理資源庫之前的優先位置了。
⑤第五步,比較nexus中默認提供的
好吧,從命名上也可以看出來,系統自帶的命名可以看出來這個資源庫是什么類型中的什么類型的。