JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

          1.    環境搭建

            1.1  下載

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

              NEXUS OSS [OSS = Open Source Software,開源軟件——免費]

              NEXUS PROFESSIONAL -FREE TRIAL [專業版本——收費]。

              所以選擇NEXUS OSS

              


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

                 

           

            1.2  配置

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

              


              將Nexus的bin目錄添加到Path環境變量中:

              


              將Nexus與當前使用的JDK的關聯,修改如下的配置文件即可,目錄為,

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

              


              到此配置完畢,然后,

           

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

                   4.3   輸入nexus install  

                   4.4 檢查是否安裝好

                  去我的電腦里查看服務 并且啟動服務

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

              


          2.    Nexus中的倉庫


            2.1  類型介紹

              登陸Nexus,在左邊菜單欄里選擇Repositories,然后會出現右邊的畫面,右邊上半部分是列出來的repository,黑體字是類型為group的repository。

              這里簡單介紹下幾種repository的類型:

              Ø  hosted,本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。

              Ø  proxy,代理倉庫,它們被用來代理遠程的公共倉庫,如maven中央倉庫。

              Ø  group,倉庫組,用來合并多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。

              


            2.2  管理本地倉庫

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

            Releases:

               這里存放我們自己項目中發布的構建, 通常是Release版本的, 比如我們自己做了一個FTP Server的項目, 生成的構件為ftpserver.war, 我們就可以把這個構建發布到Nexus的Releases本地倉庫. 關于符合發布后面會有介紹.

            Snapshots:

               這個倉庫非常的有用, 它的目的是讓我們可以發布那些非release版本, 非穩定版本, 比如我們在trunk下開發一個項目,在正式release之前你可能需要臨時發布一個版本給你的同伴使用, 因為你的同伴正在依賴你的模塊開發, 那么這個時候我們就可以發布Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本.

            3rd Party:

              顧名思義, 第三方庫, 你可能會問不是有中央倉庫來管理第三方庫嘛,沒錯, 這里的是指可以讓你添加自己的第三方庫, 比如有些構件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅動, 這個時候我們就需要自己添加到3rdparty倉庫。


            2.3  在Nexus為自己的項目手動單獨建庫

              建庫,Add-- >HostedRepository

              


              建權限

              


              建角色(指定權限)

              


              建用戶(指定角色)

              


            2.4  Maven倉庫組

              通過前面介紹可以了解到, 我們可以建立多個proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們如果需要引用這些倉庫的是時候需要一一加入到我們的setting.xml里面去, 有了倉庫的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉庫加入到倉庫組即可。如下圖:

              


              倉庫組默認包含本地倉庫Releases,snapshots, 3rd party和代理倉庫MavenCentral. 你可以在Configuration配置頁添加倉庫到這個倉庫組. 如果需要你還可以創建一個倉庫組,在Repositories菜單處選add-->Repository Group即可


          3.    項目中配置Nexus倉庫

            如果只有一個項目,可以配置在項目的pom文件中:

            


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

            


          4.    配置倉庫鏡像

            默認的,如果本地倉庫找不到依賴的構件,這時需要東西時先到Nexus上找,如果發現Nexus服務關閉后,會自動到中央倉庫找。

            如果我們想覆蓋中央倉庫的默認地址,強制依賴的東西都到Nexus中去找,即使Nexus關閉也不會到中央工廠去下載:

            修改Maven的Settings文件:

            


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

            

          posted on 2016-03-01 17:36 rogerfan 閱讀(306) 評論(0)  編輯  收藏 所屬分類: 【項目管理】
          主站蜘蛛池模板: 沐川县| 宁强县| 仙桃市| 宁化县| 宝山区| 商城县| 仙游县| 凌云县| 蓬安县| 洮南市| 安多县| 黄山市| 镇原县| 卓尼县| 金堂县| 成武县| 南丹县| 济源市| 闸北区| 乌拉特后旗| 海口市| 日喀则市| 永胜县| 漳浦县| 乌审旗| 永宁县| 贡嘎县| 凤城市| 龙江县| 田林县| 马公市| 边坝县| 额济纳旗| 连山| 云和县| 安义县| 双牌县| 县级市| 和硕县| 大兴区| 万年县|