maven的中央倉庫特別的慢,近期爲了推動項目轉爲maven的結構,必須提升下載的速度,摸索着搭建一個私服。將過程記錄在此。apache
一直使用IDEA的maven的插件,並無在系統中安裝mavenwindows
一、先安裝maven瀏覽器
http://maven.apache.org/download.cgi 官網上下載,直接解壓後配置環境變量服務器
並在path中增長 %MAVEN_HOME%\binmaven
在cmd 中運行 mvn -version 確認成功。 ide
以前因爲在idea中一直使用maven,修改系統中的maven的D:\apache-maven-3.3.9-bin\apache-maven-3.3.9\conf下的settings.xml ,將工具
<localRepository>C:\Users\Administrator\.m2\repository</localRepository> 修改成原來的maven本地倉庫地址。 不然從新下載本地庫會瘋。url
二、安裝nexus服務器 idea
http://www.sonatype.org 在此下載2.X的版本,以前下了最新的3.1,搞了一天沒弄明白,資料太少。2.x的資料多一些,反正就是一個工具,能用就行,不必弄得太明白。spa
下載的.zip版本,直接解壓便可。
解壓後存在兩個目錄以下:
第一個目錄是nexus服務器,第二個目錄是資源庫的目錄。
運行方式能夠配置環境變量,直接命令行執行。請自行百度。
懶得配,直接執行D:\解壓目錄\nexus-professional-2.14.1-01\bin\jsw\windows-x86-64\console-nexus.bat 雙擊後彈出cmd窗體,服務啓動:
順利啓動後,默認端口是8081,在瀏覽器上輸入http://localhost:8081/nexus
剛進入讓你註冊,輸入郵箱後系統會發給你一個key,輸入後則進入welcome界面。
點擊右上角 Login in 默認用戶名 密碼 admin admin123
這塊我也只知其一;不知其二,能夠自行百度,都差很少。
添加代理倉庫
以 Sonatype 爲例,添加一個代理倉庫,用於代理 Sonatype 的公共遠程倉庫。點擊菜單 Add - Proxy Repository :
填寫Repository ID - sonatype;Repository Name - Sonatype Repository;
Remote Storage Location - http://repository.sonatype.org/content/groups/public/ ,save 保存:
將添加的 Sonatype 代理倉庫加入 Public Repositories 倉庫組。選中 Public Repositories,在 Configuration 選項卡中,將 Sonatype Repository 從右側 Available Repositories 移到左側 Ordered Group Repositories,save 保存:
將右面的都移到左面圓圈處。 表明將選中的庫放到public組裏。
將全部 proxy 類型庫 的Download Remote indexes 改成true.
能夠在3rd party 中上傳已存在的jar
三、修改settings.xml 創建私服的鏡像
<mirrors> <mirror> <id>central</id> <mirrorOf>*</mirrorOf> <!-- * 表示讓全部倉庫使用該鏡像--> <name>central-mirror</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </mirror> </mirrors>
四、驗證
mvn help:system
可見確實是從nexus私服進行的下載。
總結:
到這裏應該就完成了私服的搭建,項目人員只需在項目的pom.xml中添加
<repositories> <repository> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>nexus</id> <name>nexus</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <layout>default</layout> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>nexus</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories>
便可。須要將localhost換成nexus服務器在內網中的地址。
若是添加其餘的構件時,會先在nexus私服下載好,之後纔會下載到本地。之後,若是發現私服已經存在某一jar包,則會直接從私服下載,若是沒有再去代理上下載,代理沒有再去中央倉庫上下載。
在IDEA中進行package操做,截圖
速度嗷嗷快啊!!!!!