私服是架設在局域網的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構件。有了私服以後,當 Maven 須要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;不然,私服請求外部的遠程倉庫,將構件下載到私服,再提供給本地倉庫下載。html
一、jar包下載速度比中央倉庫快數據庫
二、有些jar包因爲版權緣由,maven中央倉庫沒有,好比oracle JDBC驅動。另外也會有一些項目中用到的比較老的開源jar包,中央倉庫也沒用windows
三、公司本身開發的jar包並不開源,不能上傳到maven中央倉庫,只能部署到私服上面瀏覽器
四、便於進行統一jar包管理服務器
五、可在此基礎上搭建自動化部署服務器:oracle
1)Maven構建和釋放項目;app
2)SubVersion源代碼庫,管理源代碼;maven
3)遠程存儲庫管理器(Jfrog/ Nexus)來管理項目的二進制文件。測試
一、Apache的Archivaurl
二、JFrog的Artifactory
三、Sonatype的Nexus(本文將使用)
下載地址:https://www.sonatype.com/download-oss-sonatype
我安裝的是nexus-2.14.0-01-bundle.zip
將下載的文件解壓到一個英文目錄下,而後進入bin目錄,個人爲F:\nexus-2.14.0-01-bundle\nexus-2.14.0-01\bin\jsw\windows-x86-32,看到以下圖:
1)修改啓動端口:默認8081,若未被佔用則可不更改
2)再轉到jswàconf目錄,找到wrapper.conf,修改本機安裝的jdk路徑
3)以管理員身份運行install-nexus.bat
4)以管理員身份運行start-nexus.bat,至此,nexus已經安裝啓動完成
1)瀏覽器打開http://localhost:8081/nexus/
2)右上角login in ,輸入用戶名:admin,密碼:admin123(默認管理員初始用戶名密碼)
3)左側點擊Repository顯示以下圖所示
4)nexus倉庫分類
注:此步驟的前提是你的電腦不能鏈接外網,若是能夠上外網,這裏也沒有意思,只是介紹一下, 在左側菜單找到如圖:
點擊查看右邊有不少選項,找到這裏
添加你的代理服務器就能夠了。
咱們目前只是用3rd party這個第三方的功能,將maven倉庫中沒有構件的jar包上傳到服務器。如何將第三方的jar上傳到nexus上面呢?以下:舉例上傳oracle的驅動包。
【注意:3rd party、Snapshots、Releases這三個,分別用來保存第三方jar(典型的oracle數據庫的jar驅動包),項目組內部的快照、項目組內部的發佈版。】
那麼如今nexus已經安裝好,也清楚了怎麼上傳本身的jar包,下面來看下如何獲取Maven構件:
1)創建了一個maven的項目。
2)先去服務器看看jar的maven構件
3)而後在pom.xml中添加以下的本地倉庫地址:
1)選擇Central倉庫點擊下邊的Configuration把Download Remote Indexes屬性設爲True保存
2)在Central倉庫上右鍵而後點擊Repair Index 便可下載中心倉庫的索引文件,稍等幾分鐘點擊下邊的Browse Index便可看見下載的索引文件。
3)往Public Repositories中添加Central倉庫,點擊Public
Repositories在Configuration選項卡中把Central移到左側
1)配置在本地maven的setting.xml中,則對於本地全部的maven項目生效
<mirrors>
<mirror>
<id>nexus-releases</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
<mirrors>
2)配置在項目的pom.xml中,只針對當前項目有效
<repositories>
<repository>
<id>nexus</id>
<name>nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url>
</repository>
</repositories>
3)測試結果