JAVA—咖啡館

          ——?dú)g迎訪問rogerfan的博客,常來(lái)《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗(yàn),分享JAVA帶來(lái)的快樂!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問題請(qǐng)與我聯(lián)系。

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

          1.    環(huán)境搭建

            1.1  下載

              http://www.sonatype.org/nexus/

              NEXUS OSS [OSS = Open Source Software,開源軟件——免費(fèi)]

              NEXUS PROFESSIONAL -FREE TRIAL [專業(yè)版本——收費(fèi)]。

              所以選擇NEXUS OSS

              


              找到Download andInstall Nexus OSS。下載ZIP的即可:

                 

           

            1.2  配置

              將下載的ZIP包解壓,得到如下目錄:

              


              將Nexus的bin目錄添加到Path環(huán)境變量中:

              


              將Nexus與當(dāng)前使用的JDK的關(guān)聯(lián),修改如下的配置文件即可,目錄為,

              ${ Nexus_HOME }/bin/jsw/conf/wrapper.conf。如下圖:

              


              到此配置完畢,然后,

           

                   4.2   按住SHIFT+右鍵選擇打開命令窗口

                   4.3   輸入nexus install  

                   4.4 檢查是否安裝好

                  去我的電腦里查看服務(wù) 并且啟動(dòng)服務(wù)

                      即可在本地訪問Nexus,如出現(xiàn)下圖就表示配置成功:

              


          2.    Nexus中的倉(cāng)庫(kù)


            2.1  類型介紹

              登陸Nexus,在左邊菜單欄里選擇Repositories,然后會(huì)出現(xiàn)右邊的畫面,右邊上半部分是列出來(lái)的repository,黑體字是類型為group的repository。

              這里簡(jiǎn)單介紹下幾種repository的類型:

              Ø  hosted,本地倉(cāng)庫(kù),通常我們會(huì)部署自己的構(gòu)件到這一類型的倉(cāng)庫(kù)。比如公司的第二方庫(kù)。

              Ø  proxy,代理倉(cāng)庫(kù),它們被用來(lái)代理遠(yuǎn)程的公共倉(cāng)庫(kù),如maven中央倉(cāng)庫(kù)。

              Ø  group,倉(cāng)庫(kù)組,用來(lái)合并多個(gè)hosted/proxy倉(cāng)庫(kù),當(dāng)你的項(xiàng)目希望在多個(gè)repository使用資源時(shí)就不需要多次引用了,只需要引用一個(gè)group即可。

              


            2.2  管理本地倉(cāng)庫(kù)

              我們前面講到類型為hosted的為本地倉(cāng)庫(kù),Nexus預(yù)定義了3個(gè)本地倉(cāng)庫(kù),分別是Releases, Snapshots, 3rd Party. 分別講一下這三個(gè)預(yù)置的倉(cāng)庫(kù)都是做什么用的:

            Releases:

               這里存放我們自己項(xiàng)目中發(fā)布的構(gòu)建, 通常是Release版本的, 比如我們自己做了一個(gè)FTP Server的項(xiàng)目, 生成的構(gòu)件為ftpserver.war, 我們就可以把這個(gè)構(gòu)建發(fā)布到Nexus的Releases本地倉(cāng)庫(kù). 關(guān)于符合發(fā)布后面會(huì)有介紹.

            Snapshots:

               這個(gè)倉(cāng)庫(kù)非常的有用, 它的目的是讓我們可以發(fā)布那些非release版本, 非穩(wěn)定版本, 比如我們?cè)趖runk下開發(fā)一個(gè)項(xiàng)目,在正式release之前你可能需要臨時(shí)發(fā)布一個(gè)版本給你的同伴使用, 因?yàn)槟愕耐檎谝蕾嚹愕哪K開發(fā), 那么這個(gè)時(shí)候我們就可以發(fā)布Snapshot版本到這個(gè)倉(cāng)庫(kù), 你的同伴就可以通過簡(jiǎn)單的命令來(lái)獲取和使用這個(gè)臨時(shí)版本.

            3rd Party:

              顧名思義, 第三方庫(kù), 你可能會(huì)問不是有中央倉(cāng)庫(kù)來(lái)管理第三方庫(kù)嘛,沒錯(cuò), 這里的是指可以讓你添加自己的第三方庫(kù), 比如有些構(gòu)件在中央倉(cāng)庫(kù)是不存在的. 比如你在中央倉(cāng)庫(kù)找不到Oracle 的JDBC驅(qū)動(dòng), 這個(gè)時(shí)候我們就需要自己添加到3rdparty倉(cāng)庫(kù)。


            2.3  在Nexus為自己的項(xiàng)目手動(dòng)單獨(dú)建庫(kù)

              建庫(kù),Add-- >HostedRepository

              


              建權(quán)限

              


              建角色(指定權(quán)限)

              


              建用戶(指定角色)

              


            2.4  Maven倉(cāng)庫(kù)組

              通過前面介紹可以了解到, 我們可以建立多個(gè)proxy代理倉(cāng)庫(kù),hosted本地倉(cāng)庫(kù), 如果沒有倉(cāng)庫(kù)組的概念,我們?nèi)绻枰眠@些倉(cāng)庫(kù)的是時(shí)候需要一一加入到我們的setting.xml里面去, 有了倉(cāng)庫(kù)的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉(cāng)庫(kù)加入到倉(cāng)庫(kù)組即可。如下圖:

              


              倉(cāng)庫(kù)組默認(rèn)包含本地倉(cāng)庫(kù)Releases,snapshots, 3rd party和代理倉(cāng)庫(kù)MavenCentral. 你可以在Configuration配置頁(yè)添加倉(cāng)庫(kù)到這個(gè)倉(cāng)庫(kù)組. 如果需要你還可以創(chuàng)建一個(gè)倉(cāng)庫(kù)組,在Repositories菜單處選add-->Repository Group即可


          3.    項(xiàng)目中配置Nexus倉(cāng)庫(kù)

            如果只有一個(gè)項(xiàng)目,可以配置在項(xiàng)目的pom文件中:

            


            如果有多個(gè)項(xiàng)目都使用Nexus的配置,可以將如上皮遏制放到Maven的Settings文件中:

            


          4.    配置倉(cāng)庫(kù)鏡像

            默認(rèn)的,如果本地倉(cāng)庫(kù)找不到依賴的構(gòu)件,這時(shí)需要東西時(shí)先到Nexus上找,如果發(fā)現(xiàn)Nexus服務(wù)關(guān)閉后,會(huì)自動(dòng)到中央倉(cāng)庫(kù)找。

            如果我們想覆蓋中央倉(cāng)庫(kù)的默認(rèn)地址,強(qiáng)制依賴的東西都到Nexus中去找,即使Nexus關(guān)閉也不會(huì)到中央工廠去下載:

            修改Maven的Settings文件:

            


            注意,如果本地倉(cāng)庫(kù)有東西,但Nexus中沒有,需要將該東西考到Nexus倉(cāng)庫(kù)中,然后更新倉(cāng)庫(kù)索引:

            

          posted on 2016-03-01 17:36 rogerfan 閱讀(306) 評(píng)論(0)  編輯  收藏 所屬分類: 【項(xiàng)目管理】
          主站蜘蛛池模板: 井冈山市| 南京市| 涪陵区| 新田县| 广水市| 中超| 三门峡市| 商洛市| 凤台县| 道孚县| 和田市| 德清县| 溧水县| 阿鲁科尔沁旗| 静宁县| 出国| 贡觉县| 红原县| 三门峡市| 固阳县| 秀山| 宜章县| 安远县| 板桥市| 西畴县| 墨脱县| 潼南县| 库伦旗| 周宁县| 措勤县| 五大连池市| 南京市| 绵竹市| 中宁县| 双鸭山市| 清远市| 红原县| 富宁县| 天峨县| 城步| 湟源县|