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

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

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

    JAVA—咖啡館

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

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

    1、 為什么使用Nexus

            如果沒有私服,我們所需的所有構(gòu)件都需要通過maven的中央倉庫和第三方的Maven倉庫下載到本地,而一個(gè)團(tuán)隊(duì)中的所有人都重復(fù)的從maven倉庫下 載構(gòu)件無疑加大了倉庫的負(fù)載和浪費(fèi)了外網(wǎng)帶寬,如果網(wǎng)速慢的話,還會(huì)影響項(xiàng)目的進(jìn)程。很多情況下項(xiàng)目的開發(fā)都是在內(nèi)網(wǎng)進(jìn)行的,連接不到maven倉庫怎么 辦呢?開發(fā)的公共構(gòu)件怎么讓其它項(xiàng)目使用?這個(gè)時(shí)候我們不得不為自己的團(tuán)隊(duì)搭建屬于自己的maven私服,這樣既節(jié)省了網(wǎng)絡(luò)帶寬也會(huì)加速項(xiàng)目搭建的進(jìn)程, 當(dāng)然前提條件就是你的私服中擁有項(xiàng)目所需的所有構(gòu)件。


    2、Nexus下載

           下載地址:http://www.sonatype.org/nexus/go


    3、Nexus啟動(dòng)

           我下載的是zip包,解壓后進(jìn)入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根據(jù)操作系統(tǒng)類型選擇文件夾,我選的是windows-x86-32文件夾,進(jìn)入后可看到如下所示bat文件。

    圖(1)
    雙擊console-nexus.bat運(yùn)行。游覽器中輸入http://127.0.0.1:8081/nexus/,出現(xiàn)圖(2)所示就代表nexus已經(jīng)啟動(dòng)成功。

    圖(2)

    8081為默認(rèn)的端口號(hào),要修改端口號(hào)可進(jìn)入nexus-2.1.2-bundle\nexus-2.1.2\conf\打開nexus.properties文件,修改application-port屬性值就可以了。


    默認(rèn)的用戶名和密碼:admin/admin123,登錄后看到圖(3)所示:

    圖(3)

    4、Nexus倉庫

         nexus的倉庫類型分為以下四種:

                   group: 倉庫組

                   hosted:宿主

                  proxy:代理

                  virtual:虛擬

     

                首次登陸nexus后可以看到以下一個(gè)倉庫組和多個(gè)倉庫。


    圖(4)

                           Public Repositories:  倉庫組

                          3rd party: 無法從公共倉庫獲得的第三方發(fā)布版本的構(gòu)件倉庫

                          Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構(gòu)件倉庫

                          Central: 用來代理maven中央倉庫中發(fā)布版本構(gòu)件的倉庫

                          Central M1 shadow: 用于提供中央倉庫中M1格式的發(fā)布版本的構(gòu)件鏡像倉庫

                          Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構(gòu)件的倉庫

                          Releases: 用來部署管理內(nèi)部的發(fā)布版本構(gòu)件的宿主類型倉庫

                          Snapshots:用來部署管理內(nèi)部的快照版本構(gòu)件的宿主類型倉庫


    4.1、創(chuàng)建Nexus宿主倉庫

    在Repositories選項(xiàng)頁的菜單欄上點(diǎn)擊Add按鈕會(huì)出現(xiàn)如下所示,選擇要添加的倉庫類型。

    圖(5)

    這里我點(diǎn)擊添加宿主類型的倉庫,在倉庫列表的下方會(huì)出現(xiàn)新增倉庫的配置,如下所示:

    圖(6)

    點(diǎn)擊save按鈕后就會(huì)在倉庫列表中看到剛才新增的倉庫。


    4.2、創(chuàng)建Nexus代理倉庫

    點(diǎn)擊菜單欄上的Add按鈕后選擇Proxy Repository,看到如下所示配置界面:

    圖(7)

    4.3、創(chuàng)建Nexus倉庫組

    倉庫組和倉庫關(guān)系是一對(duì)多的關(guān)系,一個(gè)倉庫組可以指向多個(gè)倉庫。

    點(diǎn)擊菜單欄上的Add按鈕選擇Repository Group就可以看到倉庫組的配置界面,如下所示:

    圖(8)

    點(diǎn)擊save后就可在倉庫列表中看到新增的倉庫組了,項(xiàng)目中如果要下載構(gòu)件的話,配置文件中一般都用倉庫組的URL。


    5、修改Maven配置文件從Nexus下載構(gòu)件

    1)如 果想對(duì)操作系統(tǒng)的所有用戶統(tǒng)一配置maven,則只需修改maven\conf\setting.xml 文件就可以了,如果只想對(duì)用戶單獨(dú)配置maven,只需將conf\setting.xml文件復(fù)制到C:\Documents and Settings\Administrator\.m2文件夾下(我這里假設(shè)系統(tǒng)裝在c盤,用戶為Administrator)。

     

    2)  打開setting.xml文件,可以看到如下代碼:

    1. <!-- localRepository  
    2.    | The path to the local repository maven will use to store artifacts.  
    3.    |  
    4.    | Default: ~/.m2/repository   
    5.   <localRepository></localRepository>  
    6.  -->  

    表示如果不設(shè)置localRepository,maven會(huì)默認(rèn)將本地倉庫建到/.m2/repository文件夾下。


    設(shè)置localRepository如下代碼所示:

    1. <localRepository>F:\myCenterRepository</localRepository>  

    表示在myCenterRepository文件夾下建立本地倉庫。個(gè)人建議不要采用默認(rèn)的倉庫地址,因?yàn)轫?xiàng)目如果很多的話,那么本地倉庫所占的磁盤空間就比較多了,所以指定倉庫地址到其他盤符,更方便管理。


    5.2、在POM文件中配置Nexus倉庫

    在項(xiàng)目的pom文件中添加如下代碼:

    1. <repositories>     
    2.     <repository>     
    3.       <id>nexus</id>     
    4.       <name>my-nexus-repository</name>     
    5.       <url>http://127.0.0.1:7788/nexus/content/groups/public/</url>     
    6.       <releases>     
    7.         <enabled>true</enabled>     
    8.       </releases>     
    9.       <snapshots>     
    10.         <enabled>false</enabled>     
    11.       </snapshots>     
    12.     </repository>     
    13.   </repositories>     
    14.   <pluginRepositories>     
    15.     <pluginRepository>     
    16.       <id>nexus</id>     
    17.       <name>my-nexus-repository</name>     
    18.       <url>http://127.0.0.1:7788/nexus/content/groups/public/</url>     
    19.       <releases>     
    20.         <enabled>true</enabled>     
    21.       </releases>     
    22.       <snapshots>     
    23.         <enabled>false</enabled>     
    24.       </snapshots>          
    25.     </pluginRepository>     
    26.   </pluginRepositories>     

    在pom文件中配置只對(duì)當(dāng)前項(xiàng)目有效,而實(shí)際開發(fā)中不可能在每個(gè)項(xiàng)目中重復(fù)配置信息,所以不建議在pom文件中配置。


    5.3、在setting.xml文件中配置Nexus倉庫

    1)maven提供了profile來配置倉庫信息,如下所示:

    1. <profiles>  
    2.     <profile>  
    3.       <id>myprofile</id>  
    4.       <repositories>  
    5.             <repository>  
    6.                 <id>central</id>                                     
    7.                 <url>http://central</url>                        
    8.                 <releases>  
    9.                     <enabled>true</enabled>  
    10.                 </releases>  
    11.                 <snapshots>  
    12.                     <enabled>true</enabled>  
    13.                 </snapshots>  
    14.             </repository>  
    15.         </repositories>     
    16.          <pluginRepositories>  
    17.             <pluginRepository>  
    18.               <id>central</id>  
    19.               <url>http://central</url>  
    20.               <releases>  
    21.                 <enabled>true</enabled>  
    22.               </releases>  
    23.               <snapshots>  
    24.                 <enabled>false</enabled>  
    25.               </snapshots>  
    26.             </pluginRepository>  
    27.         </pluginRepositories>  
    28.     </profile>  
    29. </profiles>  

    2) 激活profile

    1. <activeProfiles>  
    2.     <activeProfile>myprofile</activeProfile>  
    3.   </activeProfiles>  

    3)配置鏡像

    1. <mirrors>  
    2.     <mirror>     
    3.      <id>nexus</id>      
    4.      <url>http://127.0.0.1:7788/nexus/content/groups/public/</url>     
    5.      <mirrorOf>*</mirrorOf>     
    6.    </mirror>  
    7.  </mirrors>  

    這里配置mirrorOf的值為*,代表maven的所有訪問請(qǐng)求都會(huì)指向到Nexus倉庫組。


    6、部署構(gòu)件到Nexus倉庫

    6.1、maven部署

    1) 修改pom文件

    在pom文件中添加如下配置:

    1. <distributionManagement>  
    2.        <repository>  
    3.            <id>my-nexus-releases</id>  
    4.            <url>http://127.0.0.1:7788/nexus/content/repositories/releases/</url>  
    5.        </repository>  
    6.          
    7.        <snapshotRepository>  
    8.            <id>my-nexus-snapshot</id>  
    9.            <url>http://127.0.0.1:7788/nexus/content/repositories/snapshots/</url>  
    10.        </snapshotRepository>  
    11.   </distributionManagement>  

    2)在setting.xml文件中添加認(rèn)證信息:

    1. <servers>  
    2.      <server>  
    3.       <id>my-nexus-releases</id>  
    4.       <username>admin</username>  
    5.       <password>admin123</password>  
    6.     </server>  
    7.     <server>  
    8.       <id>my-nexus-snapshot</id>  
    9.       <username>admin</username>  
    10.       <password>admin123</password>  
    11.     </server>  
    12. </servers>  

    上面的配置中我用的是超級(jí)管理員的賬戶,開發(fā)項(xiàng)目中可以改為具有部署構(gòu)件權(quán)限的用戶就可以了。

     

    3)執(zhí)行部署

    測(cè)試的構(gòu)件項(xiàng)目信息如下:

    1. <groupId>com.ez</groupId>  
    2.   <artifactId>TestJar</artifactId>  
    3.   <version>1.0</version>  
    4.   <packaging>jar</packaging>  
    5.   <name>TestJar</name>  

    從上面的信息中可以看出構(gòu)件為發(fā)布版本,所以部署構(gòu)件的話會(huì)自動(dòng)部署至releases倉庫中。

     

    在命令行中執(zhí)行:mvn clean deploy

    如果之前沒用執(zhí)行過該命令,maven會(huì)自動(dòng)到中央倉庫中下載部署所需的插件。最后在命令行中看到如下所示就代表構(gòu)件已經(jīng)部署成功。

    圖(9)

    到nexus的releases倉庫中查看剛剛部署好的構(gòu)件信息如下所示:

    圖(10)

    如果部署失敗的要檢查一下用戶是否有部署的權(quán)限,目標(biāo)倉庫是否允許部署,是否缺少部署所需的構(gòu)件。


    6.2、手動(dòng)部署

    手動(dòng)部署構(gòu)件則更為簡(jiǎn)單了,在nexus的倉庫列表中點(diǎn)擊要部署的目標(biāo)倉庫,然后點(diǎn)擊Artifact Upload選項(xiàng)卡看到下圖所示:

    圖(11)


    通過以上配置運(yùn)用Nexus搭建的私服基本上可以用了,更多配置需求可參考Nexus book.

    Nexus book下載地址:http://download.csdn.net/detail/yaoqinzhou1943/4589583
    posted on 2014-05-26 10:40 rogerfan 閱讀(2254) 評(píng)論(0)  編輯  收藏 所屬分類: 【項(xiàng)目管理】
    主站蜘蛛池模板: 亚洲精品午夜在线观看| 亚洲女同成人AⅤ人片在线观看| **一级一级毛片免费观看| 成人性生交大片免费看中文| 成人免费ā片在线观看| 岛国精品一区免费视频在线观看| 亚洲一级片免费看| 成人精品一区二区三区不卡免费看| 两个人看的www免费| 免费观看成人久久网免费观看| 久久精品电影免费动漫| 2015日韩永久免费视频播放| 91久久成人免费| 中文字幕无码成人免费视频| 久久久久久久免费视频| 四虎成人免费影院网址| 免费国产在线观看不卡| 国产亚洲精品高清在线| 久久青青成人亚洲精品| 亚洲成A∨人片在线观看无码| xxx毛茸茸的亚洲| 无码色偷偷亚洲国内自拍| 一级做a爰性色毛片免费| 久久国产乱子伦精品免费强| 99久久精品免费精品国产| 免费看美女裸露无档网站| 国产精品无码素人福利免费| 亚洲国产成人精品女人久久久 | 亚洲精品天堂无码中文字幕| 国产精品亚洲精品爽爽| 丝瓜app免费下载网址进入ios| 无码av免费网站| 成年美女黄网站色大免费视频| 国产一级淫片免费播放| 亚洲国产日韩在线视频| 亚洲人成毛片线播放| 青娱乐在线免费观看视频| 日韩免费观看一区| 国内自产拍自a免费毛片| 在线亚洲精品福利网址导航| 亚洲第一页中文字幕|