maven学习(中)- 私服nexus搭建
接上回繼續(xù),相信大家對maven每次都聯(lián)網(wǎng)從國外站點下載依賴項的龜速網(wǎng)絡(luò)已經(jīng)不坎忍受了,今天先來看看如何搭建"倉庫私服",目前nexus是使用比較廣泛的私服軟件之一,下面將介紹基本用法:
?
一、到nexus官網(wǎng)下載最新版
1.1?下載地址:http://www.sonatype.org/downloads/nexus-latest-bundle.zip?(目前最新版本是2.7.2-03)
(2015-07-02注: 上面的下載地址好象已經(jīng)失效了,新的地址為 http://www.sonatype.org/nexus/archived/?)
1.2?下載完后,解壓到指定目錄,比如:c:\java\nexus\
1.3?啟動nexus
%nexus_home%\bin\nexus.bat install (安裝成windows服務(wù))
%nexus_home%\bin\nexus.bat start (啟動)
tips : 直接nexus.bat不帶參數(shù),會顯示完整的參數(shù)列表
參考下圖,如果啟用不起來,檢查jdk版本,nexus要求1.7版本(如果版本不對,請調(diào)整環(huán)境變量JAVA_HOME指向jdk1.7的目錄)
如果換成1.7還是啟用不了,建議用nexus.bat console 控制臺方式啟用,這樣可以看到詳細啟動過程
啟動成功后,可以用http://localhost:8081/nexus?進入控制界面
點擊右上角的Log In,默認用戶名/密碼是admin/admin123
?
二、添加jboss資源庫地址
2.1?先了解下nexus的資源庫類型:
Hosted Repository?- nexus本機的資源庫(相當于nexus所在服務(wù)器硬盤上已經(jīng)存在的jar、pom文件庫)
Proxy Repository?- 代理庫,很多開源官方組織都在互聯(lián)網(wǎng)上公布了Repository,供全世界的開發(fā)者使用,nexus中設(shè)置該類型的資源庫后,其它使用nexus的開發(fā)者,表面上是在請求nexus服務(wù)器上的jar包,但nexus實質(zhì)是背后是在請求這些互聯(lián)網(wǎng)資源,首次會把服務(wù)器上沒有的資源,從網(wǎng)上download到nexus服務(wù)器(以文件形式保存到硬盤上),然后再返回給開發(fā)者,下次再有同樣的pom/jar請求時,直接從服務(wù)器硬盤上返回,不再請求互聯(lián)網(wǎng)
Repository Group?- 資源組,比如我們有很多資源庫:資源庫A、資源庫B...,可以把它們再成組合一個特殊的資源C,然后其它開發(fā)人員,在maven里配置資源C地址,這樣maven在向資源C請求jar包里,實質(zhì)會搜索資源A、資源B
?
2.2?添加jboss 代理資源庫
maven默認的官方資源庫http://repo1.maven.org/maven2/,很多第三方的jar包沒有,所以我再添加一個jboss的資源庫
點擊左側(cè)的Repositories,然后再點擊右側(cè)的Add,會彈出下拉菜單,選擇Proxy Repository
接下來,參考下圖填寫:
Respository ID這里填寫:jboss-public-repository-group (可以自已改名字)
Respository Name這里填寫:JBoss Public Maven Repository Group?(可以自已改名字)
其它項保持默認
Remote Storage Location這里填寫:https://repository.jboss.org/nexus/content/groups/public-jboss/?(這是jboss公布的公開資源庫)
?
2.3?下載jboss eap 6.x的離線資源包
首次使用nexus時,私服服務(wù)器上實質(zhì)上沒有任何jar包的緩存,所以第一次使用時,其實跟直接到互聯(lián)網(wǎng)上下載沒啥區(qū)別,只有后面再請求相同的jar包,服務(wù)器上才會有jar文件緩存,為了加快速度,我們可以直接上jboss官網(wǎng)下載離線資源包
下載地址: htp://www.jboss.org/jbossas/downloads
然后解壓到指定目錄,建議放在 %nexus_home%\sonatype-work\nexus\storage\ 下
然后add一個hosted repository,參考下圖:
?
2.4?把剛才添加的二個respoitory添加到Public Repositories組
剛才我們添加了二個新的資源庫,檢查一下是否包括在默認的Public Repositories組里
如果沒包括在組里,參考上圖處理一下,然后保存。最后建議更新一下索引,參考下圖:
?
三、修改本機當前用戶下.m2目錄下的settings.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 6 7 <mirrors> 8 <mirror> 9 <id>nexus</id>10 <mirrorOf>*</mirrorOf>11 <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>12 </mirror>13 </mirrors>1415 <profiles>16 <profile>17 <id>nexus</id>18 <repositories>19 <repository>20 <id>nexus</id>21 <name>Nexus</name>22 <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>23 <releases><enabled>true</enabled></releases>24 <snapshots><enabled>true</enabled></snapshots>25 </repository>26 </repositories>27 <pluginRepositories>28 <pluginRepository>29 <id>nexus</id>30 <name>Nexus</name>31 <url>http://192.168.0.110:8081/nexus/content/groups/public/</url>32 <releases><enabled>true</enabled></releases>33 <snapshots><enabled>true</enabled></snapshots>34 </pluginRepository>35 </pluginRepositories>36 </profile>37 </profiles>38 <activeProfiles>39 <activeProfile>nexus</activeProfile>40 </activeProfiles>4142 </settings>注:大家自行把這段xml中的地址換成nexus服務(wù)器的ip。
然后隨便創(chuàng)建一個maven項目,執(zhí)行mvn clean package 之類,觀察下輸出:
從上圖可以看出,現(xiàn)在依賴項都是從nexus服務(wù)器下載的
?
四、eclipse中添加資源xml
最后再補充一個小技巧,這跟私服其實關(guān)系不大。每次我們在eclipse里創(chuàng)建maven project時,都會彈出一個界面,讓我們選擇“項目模板“,這個過程需要聯(lián)網(wǎng)獲取模板列表,而且每次都次重復獲取,很不合理,如下圖:
可以點擊Confiure,會彈出以下界面,點擊”Add Local Catalog“
先在瀏覽里訪問?https://repository.jboss.org/nexus/content/groups/public-jboss/archetype-catalog.xml?這個地址,然后保存為xml文件,接下面的界面里 Catalog File里,選擇這個xml文件,然后Description填寫一個名字
然后在創(chuàng)建Maven項目時,就可以直接選擇這個了,選擇后,將直接讀取本機xml的內(nèi)容,比聯(lián)網(wǎng)獲取要快得多
?
最后給一個小技巧:
有時候,在單位的局域網(wǎng)里架構(gòu)nexus服務(wù)器,服務(wù)器并不能訪問外網(wǎng),這樣就無法通過代理庫從互聯(lián)網(wǎng)下載jar包,可以這樣做:
開發(fā)人員的機器通常是能上網(wǎng)的,先在本機修改settings.xml,不走nexus私服,直接從互聯(lián)網(wǎng)中央倉庫下載一次,把所有東西編譯好以后,將本機 "當前用戶\.m2\repository"復制到nexus私服服務(wù)器的相應(yīng)存儲目錄,一般則nexus同級目錄下的sonatype-work\nexus\storage\central 目錄,然后再登錄nexus管理界面手動更新索引,以后其它人就能正常使用nexus私服了。
來源:?http://www.cnblogs.com/yjmyzz/p/3519373.html
來自為知筆記(Wiz)
總結(jié)
以上是生活随笔為你收集整理的maven学习(中)- 私服nexus搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一款开源免费的.NET文档操作组件Doc
- 下一篇: 逐帧动画和补间动画的使用场景(二)