爲何要搭建私服?搭建私服有什麼好處?html
以我最近技術調研和相關的使用爲起點概述:ubuntu
首先說明,爲何要搭建私服?vim
搭建私服的目的是,一般企業項目開發,特別是使用maven做爲項目管理,如今很是流行使用maven,包括我和個人同窗及其朋友相關的公司,它們公司都用maven構建項目。由於jar包統一方便管理。搭建私服的目的,也就在於管理Jar包。就比如做爲運維的,特別是一些大公司,一般都會有公司本身專門的rpm軟件包管理倉庫,同時maven也是如此。瀏覽器
一般狀況下,只要你在對應的pom.xml文件中引入你的私服路徑,那麼,項目下載對應的jar包,會優先去私服下載,私服沒有再去公共倉庫,也就是maven倉庫。服務器
搭建私服的好處,除了方便管理jar包,減小項目開發時,引入jar包衝突問題,在這家公司開發了好幾個項目,發現遇到除代碼邏輯或者業務方面的問題以外,遇到比較多的就是jar包衝突問題,maven有一個叫依賴傳遞的特性,也就是好比下圖所示:運維
一般狀況,這樣咱們有的時候只需引入幾個依賴便可,由於那幾個依賴裏面已經包含了其餘依賴。maven
這就是maven特性之一,也是爲許多人津津樂道的,名曰:依賴傳遞。測試
下面進入如何搭建私服?this
nexus官網最新下載地址爲:https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92阿里雲
舊版本下載地址爲:
(1)下載
wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz
(2)解壓
tar -zxvf nexus-2.10.0-02-bundle.tar.gz
(3)修改nexus文件
vim nexus
在啓動文件nexus中增長nexus的啓動用戶,不然沒權限啓動,將報錯以下:
WARNING - NOT RECOMMENDED TO RUN AS ROOT
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script
因此要解決此問題,須要在啓動文件nexus,加上RUN_AS_USER=root,如圖所示:
(4)修改完畢後,啓動nexus
進入bin目錄下執行 ./nexus start
會出現:
Starting Nexus OSS...
Started Nexus OSS.
在瀏覽器輸入:http://ip:8081/nexus
登陸nexus,右上角Log In,默認登陸用戶名密碼:admin/admin123
登陸以後,咱們能夠點擊左邊菜單欄Repositories進入詳細配置
能夠本身從新建立一個私服配置,這裏咱們用系統在帶的Public Repositories
關於倉庫的類型介紹
hosted 類型的倉庫,內部項目的發佈倉庫
releases 內部的模塊中release模塊的發佈倉庫
snapshots 發佈內部的SNAPSHOT模塊的倉庫
3rd party 第三方依賴的倉庫,這個數據一般是由內部人員自行下載以後發佈上去
proxy 類型的倉庫,從遠程中央倉庫中尋找數據的倉庫
group 類型的倉庫,組倉庫用來方便咱們開發人員進行設置的倉庫
可是須要將其餘幾個代理的庫配置映射到Public中,分別將Apache Snapshots、Central、Codehaus Sanpshots下Download Remote Indexes選項選擇【true】,保存便可,默認是false,以下圖
而後分別將Apache Snapshots、Central、Codehaus Sanpshots更新Index,在每個庫上面右鍵操做Repair Index
最後將Public Repositories操做Repair Index
而後接能夠測試maven倉庫了。
在項目中,引用maven倉庫。則須要項目的pom.xml文件中添加以下:
<repositories>
<repository>
<id>thirdparty</id>
<url>http://yc520:8081/nexus/content/repositories/thirdparty</url>
</repository>
</repositories>
搭建私服參考連接爲:https://www.cnblogs.com/candle806/p/4076325.html
私服上傳第三方jar包參考連接爲:https://blog.csdn.net/xiaodaiwang/article/details/78093591
我我的以前下載過最新版安裝,總會出現不如人意的狀況,甚至出現了生成hr開頭的錯誤日誌文件,一般這種錯誤日誌文件是由於Java運行環境不足致使的。
但我換成低版本,而個人jdk仍然是8,而不是7或者6,也沒有出現一些朋友所說的那樣,jdk版本與私服+maven存在版本衝突問題。
本次個人環境爲Linux(阿里雲服務器,ubuntu16.04),maven3以上,jdk8。本人親自搭建並測試上傳jar,並引入jar。徹底沒問題。
不過本地window測試了下最新版,出現一些小問題致使本地window不能正常使用nexus。我認爲也是版本問題的緣故。