<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統(tǒng)計(jì)

    其他鏈接

    友情鏈接

    最新評論

    初學(xué)maven(3)-使用nexus替代artifactory作為maven私服

        之前看到過一些Nexus的介紹,由于剛開始接觸maven時使用的私服是artifactory,因此沒有太在意。今天想著既然Nexus能有膽量出來混,應(yīng)該有點(diǎn)真本事才是,看了一下nexus的安裝介紹,挺簡單的,試試無妨。因此裝上小試了一下,結(jié)果喜出望外,nexus的表現(xiàn)非常不錯,尤其是在開啟遠(yuǎn)程索引之后,簡直太方便了。

        于是決定放棄artifactory改而使用nexus作為自己的maven私服。恩,慚愧,頗有點(diǎn)喜新厭舊的味道,artifactory才裝上來沒有幾天,就慘遭拋棄......

        整理了一下,全過程記錄如下:

    1. 首先下載Nexus
        從官網(wǎng)http://nexus.sonatype.org/download.html下載下載最新版本,因?yàn)槭窃趙indows上安裝,因此下載的是zip版本,大小大概是16m。
       
    2. 安裝
        簡單解壓縮下載的zip包到安裝目錄就可以了。
        可執(zhí)行文件在%nexus安裝目錄%\nexus-webapp-1.0.0\binjsw\windows-x86-32下:
            InstallNexus.bat/UninstallNexus.bat是安裝/卸載nexus為windows service,如果需要設(shè)置nexus為開機(jī)自動啟動就可以安裝為windows service然后設(shè)置啟動方式為自動。
            Nexus.bat是直接在命令行中啟動Nexus,如果不想安裝Nexus為windows service,可以用這個文件來手工控制Nexus的啟動退出。
           
           
    3. 配置nexus

        首先登錄,默認(rèn)地址http://localhost:8081/nexus/,默認(rèn)用戶名密碼為admin/admin123.
       
        最重要的一件事情就是開啟遠(yuǎn)程索引下載,索引這個功能實(shí)在是太好用了。
       
        nexus默認(rèn)是關(guān)閉遠(yuǎn)程索引下載功能的,主要是擔(dān)心會造成對服務(wù)器的巨大負(fù)擔(dān),需要我們手工開啟。
       
        開啟的方式:
            點(diǎn)擊Administration菜單下面的Repositories,將這三個倉庫Apache Snapshots,Codehaus Snapshots,Maven Central的Download Remote Indexes修改為true。然后在這三個倉庫上分別右鍵,選擇Re-index,這樣Nexus就會去下載遠(yuǎn)程的索引文件。
           
    4. 配置maven
        要讓maven使用nexus作為私服,需要做一些設(shè)置,使用和原來設(shè)置artifactory相似的方法。修改~/.m2/settings.xml.
       
        增加nexus的profile:

        <profile>
          
    <id>nexus</id>
          
    <repositories>
            
    <repository>
                
    <id>nexus</id>
                
    <name>local private nexus</name>
                
    <url>http://localhost:8081/nexus/content/groups/public</url>
                
    <releases><enabled>true</enabled></releases>
                
    <snapshots><enabled>false</enabled></snapshots>
            
    </repository>
            
    <repository>
                
    <id>nexus</id>
                
    <name>local private nexus</name>
                
    <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
                
    <releases><enabled>false</enabled></releases>
                
    <snapshots><enabled>true</enabled></snapshots>
            
    </repository>
          
    </repositories>
          
    <pluginRepositories>
            
    <pluginRepository>
                
    <id>nexus</id>
                
    <name>local private nexus</name>
                
    <url>http://localhost:8081/nexus/content/groups/public</url>
                
    <releases><enabled>true</enabled></releases>
                
    <snapshots><enabled>false</enabled></snapshots>
            
    </pluginRepository>
            
    <pluginRepository>
                
    <id>nexus</id>
                
    <name>local private nexus</name>
                
    <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
                
    <releases><enabled>false</enabled></releases>
                
    <snapshots><enabled>true</enabled></snapshots>
            
    </pluginRepository>
           
    </pluginRepositories>
        
    </profile>
     
        修改activeProfiles為:
          <activeProfiles>
            
    <activeProfile>nexus</activeProfile>
          
    </activeProfiles>
         
    5. 為nexus增加Artifact
        有些特殊的Artifact無法從maven官網(wǎng)倉庫中下載,比如sun的一些包,只好自己自行下載后添加到私服中。
        在nexus中我選擇將這些Artifact上傳到默認(rèn)安裝就存在的倉庫3rd Party中,右擊倉庫名,選擇Upload Artifact。
       
    6. 在eclipse中使用索引功能
        原來試過,使用artifactory私服也可以使用Artifact的索引功能,但是由于不知道怎么設(shè)置遠(yuǎn)程倉庫的index,我只會設(shè)置
        當(dāng)前artifactory私服已有的Artifact的索引,對于還沒有導(dǎo)入到artifactory私服的Artifact就沒有辦法索引了,很不方便,
        畢竟剛開始使用maven時,所有用到的Artifact都是本地和私服沒有而需要到遠(yuǎn)程倉庫取的。
       
        nexus中可以很方便的得到遠(yuǎn)程倉庫的Artifact的索引,在上面“3. 配置nexus”就介紹過。下面介紹如何在eclispe里面
        設(shè)置和使用索引功能:
        1) 打開Maven Indexes 的eclispe view
            在eclispe中選擇window -> show view -> other ... -> Maven -> Maven Indexes
        2) 添加nexus的index
            右鍵菜單中選"add index", 在彈出的"Add Respository index"窗口中填入:
                Repository URL: http://localhost:8081/nexus/content/groups/public
                Repository Id: nexus
                Index Update URL: 放空,暫時還不知道該怎么填
            加入后eclispe會自動load一次index信息,然后就可以在新加入的index下可以拉出極大數(shù)量的Artifact信息。
        3) 測試一下使用
            找個pom.xml文件,右鍵 -> Add Dependency, 然后填入一個關(guān)鍵詞,比如我填入mina,馬上填出和mina相關(guān)的一些
            選擇,我找到apache mina,雙擊最新一個版本。會自動在pom.xml文件中增加以下內(nèi)容:

            <dependency>
                
    <groupId>org.apache.directory.mina</groupId>
                
    <artifactId>mina-core</artifactId>
                
    <version>0.9.5</version>
            
    </dependency>

            然后Maven自動下載jar包,再將jar包加入項(xiàng)目的build path,全程自動化處理,真是爽啊。

    7. 為nexus增加新的proxy  repository
            方法很簡單,administration -> Repositories -> add -> proxy,填寫后保存即可。但是要注意,nexus不會自動將新加入的repository添加到group中,而我們一般喜歡直接使用默認(rèn)的"public repository" group, 比如前面我在maven的profile中就只設(shè)置了這一個URL: http://localhost:8081/nexus/content/groups/public。因此需要手工修改"public repository" group的設(shè)置,將剛才添加的proxy  repository加到組中。
            推薦的repository有:
                    1) jboss         http://repository.jboss.com/maven2/
                    2) sun            http://download.java.net/maven/2/
                    3)k-int           http://developer.k-int.com/maven2/
                            加入這個純粹是因?yàn)樗衧un的jmxri/jmxtools這些Artifact,強(qiáng)烈鄙視sun,自己的官方repository居然沒有。
                    4)sonatype        http://repository.sonatype.org/content/groups/public/
    8. 總結(jié)
        很明顯,nexus無論是在界面,功能,操作上,都比artifactory強(qiáng)大的多。
        因此推薦大家使用nexus替代artifactory作為maven私服。
       
    updates:
    1.  2008.11.28 
    由于公司升級操作系統(tǒng),告別老舊不堪的windows2000升級到vista,因此重新安裝了nexus. 新版本的nexus似乎增加了不少小的功能比如對remote index的支持,具體沒有深究,不過能不斷更新實(shí)在是很令人欣慰。以后就打算用nexus了。

    2. 2009.10.15
        一年來陸續(xù)發(fā)現(xiàn)了一些比較不錯的maven倉庫
        1) fedora.is    
            http://fedora.is/maven/
        2) ibiblio
            http://mirrors.ibiblio.org/pub/mirrors/maven2/
            這個是ivy的官網(wǎng),東西比較多
        3) rothamsted
            http://ondex.rothamsted.bbsrc.ac.uk/nexus/content/repositories/releases/
            http://ondex.rothamsted.bbsrc.ac.uk/nexus/content/repositories/wso2/
            有一些比較偏門的東西

    posted on 2008-09-06 23:16 sky ao 閱讀(10307) 評論(10)  編輯  收藏 所屬分類: project building

    評論

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服[未登錄] 2008-09-07 17:18 tan

    兄弟,nexus在哪有下,它的官方網(wǎng)我一直上不上去
    我現(xiàn)在也用artifactory作為私服,感覺界面不太好使
    有空聯(lián)系哦:tywo45@163.com  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2008-09-07 18:39 飄然

    我就是在官網(wǎng)直接下載的,沒有遇到問題啊。不知道你那里是怎么回事,你再試試。實(shí)在不行,考慮發(fā)到你郵箱?  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服[未登錄] 2008-09-09 08:26 tan

    確實(shí)下不下來的!從08-25號開始找了,一直沒找到.
    兄弟共享發(fā)一份吧
    tywo45@163.com
    謝謝!  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2008-09-09 12:07 飄然

    晚上回去給你發(fā)好了,現(xiàn)在在公司,速度太慢。  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2008-09-09 15:38 家有小貓's Java Blog

    和Apache Archiva相比有什么優(yōu)勢?  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2008-09-28 23:04 魔豆

    這里我很喜歡,都是博主自己積累的經(jīng)驗(yàn),贊一個!!  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服[未登錄] 2008-12-27 21:24 小龍

    在服務(wù)器上用不起,在springside里找了一個nexus出來,可以訪問了
    但是mvn 怎么和nexus結(jié)合使用呢,網(wǎng)上沒有這方面的資料
    lxitwangyulong@gmail.com  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2009-06-11 11:39 jianfeng008cn

    兄弟,搞了好幾天了 ,碰到一問題,按照你的做法,添加了第三方包json-lib,在eclipse中也能自動添加,但是jar包還是缺失,導(dǎo)致項(xiàng)目上有紅叉。  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2010-02-05 14:48 hayasi.chen@gmail.com

    看了你的文章很有幫助,但是有個問題。如果開啟遠(yuǎn)程下載的話,是不是會下載所有的包。我現(xiàn)在只是跟新索引文件就已經(jīng)400多M了。我現(xiàn)在只想把工程需要的文件放到maven倉庫,。怎么做???只能一個個上傳到maven倉庫嗎??還是有什么捷徑??  回復(fù)  更多評論   

    # re: 初學(xué)maven(3)-使用nexus替代artifactory作為maven私服 2010-02-07 11:22 sky ao

    不會下載所有的包,只有你明確給出請求和根據(jù)這些請求遞推出來的依賴包來被下載。這個東西只是實(shí)現(xiàn)proxy + cache而已。

    index文件的確比較多,幾個大站都是超過100m,部分是》500m的。如果你對空間敏感,可以選擇不下載index。

    最后一個問題,估計(jì)是你還沒有理解nexus、artifactory的作用。重復(fù)一次,他們只是proxy + cache,你需要獲取的文件實(shí)際在遠(yuǎn)程倉庫比如maven2官網(wǎng)倉庫。當(dāng)你發(fā)出請求時,這個請求時先連接到nexus、artifactory,它們檢查本地cache,發(fā)現(xiàn)沒有這個文件才去遠(yuǎn)程獲取,然后保存到本地cache,這樣下一次你再請求同樣的文件的時候就可以直接從cache中獲取,而且不必每次每個文件都遠(yuǎn)程下載。  回復(fù)  更多評論   

    主站蜘蛛池模板: 亚洲乱码中文字幕久久孕妇黑人| 老妇激情毛片免费| 亚洲欧洲日产国码无码网站 | 亚洲综合av永久无码精品一区二区| 久久久久久久免费视频| 亚洲免费观看视频| a级毛片免费高清视频| 欧洲亚洲国产精华液| 77777亚洲午夜久久多喷| 亚洲精品国产免费| 国产亚洲A∨片在线观看| 亚洲国产精品成人| 日本一道在线日本一道高清不卡免费 | 16女性下面扒开无遮挡免费| 中国人免费观看高清在线观看二区| 青娱乐在线免费观看视频| 亚洲AV无码之国产精品| 亚洲欧美成人综合久久久 | 中文字幕无码成人免费视频| 99国产精品视频免费观看| 麻豆精品成人免费国产片| 精品熟女少妇aⅴ免费久久| 一级毛片试看60分钟免费播放| 菠萝菠萝蜜在线免费视频| 美女被爆羞羞网站免费 | 久久精品亚洲男人的天堂| 亚洲精品456播放| 亚洲日本va午夜中文字幕久久| 亚洲AV无码一区二三区| 亚洲成人高清在线| 亚洲色婷婷综合开心网| 久久影院亚洲一区| 亚洲国产精彩中文乱码AV| 亚洲人成网www| 精品日韩亚洲AV无码一区二区三区 | 国产AV无码专区亚洲AV漫画 | 免费国产草莓视频在线观看黄| 国产亚洲精品第一综合| 免费人人潮人人爽一区二区| 日韩在线观看免费完整版视频| 五月天国产成人AV免费观看|