1. 程式人生 > >Nexus搭建Maven私服

Nexus搭建Maven私服

gem 說明 原因 x86 copy href .com 3.x jar包

公司一般都有個自己的私服來管理各種jar包,原因大概有這麽3個,分別是:

    1、有的公司不能訪問外網,只能通過私服來管理jar包和插件;

    2、公司網速比較慢,通過公司的私服來獲取jar包比較快;

    3、內部的的一些jar包放在私服上,比較方便的大家使用。

  這裏簡單介紹下搭建Nexus環境,並且在eclipse mvn插件環境下來上傳jar包。

Nexus環境搭建:

   說明:這裏是Windows環境,Linux類似。

  1、下載Nexus安裝文件:http://www.sonatype.org/nexus/go ,目前是nexus-2.13.0-01-bundle.tar.zip這個最新版本;

  2、解壓到任意目錄,我這裏解壓到E盤,進入E:\nexus-2.13.0-01\bin\jsw\windows-x86-64,點擊install-nexus.bat安裝成為windows服務,這裏選擇自己計算機對應的文件;

  3、訪問http://localhost:8081/nexus/,這就是私服;

  4、點擊右上角登錄,默認帳號admin,密碼admin123;

  5、點擊左邊Repositories,可以看到一系列倉庫類型,我們一般使用3個,分別是Releases,Snapshots和3rd party。這3個倉庫風別是裝穩定版,開發版和第三方jar包 。

  技術分享

  6、舉例,手動上傳一個jar到Releases倉庫裏面。

   技術分享

  7、上面是手動方式,另外一種是利用mvn直接發布到私服上面來,需要修改2個地方,第一是在settings文件的servers節點下加入,這是配置私服的密碼和倉庫,配合pom文件中的倉庫地址就構成了完成的訪問私服的要素,帳號和密碼之所以在settings中設置,是由於settings文件是本地的,而pom.xml文件是公共的,不安全,所以放在settings中:

技術分享
<server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

    <server>
        <id>nexus-snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
技術分享

  第二是在pom.xml中增加,下面的id和settings中的id必須要一樣。

技術分享
    <distributionManagement>
        <repository>
            <id>nexus-release</id>
            <name>Nexus Release Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/release/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
技術分享

  上面的私服兩個倉庫的url從什麽地方獲取呢?如下圖:

  技術分享

  8、新建一個mvn項目,

    1、運行source:jar在target下生成源碼jar包;

    2、運行deploy,class的jar包發布到私服;

    3、運行source:jar deploy,連同源碼一起發布到私服。

  9、完成,在其他項目中可以使用上面的jar包了。

  10、a.貼兩個以前遇到過的小異常過來,在eclipse中配置mvn的時候可以分別配置mvn的目錄和settings文件,不過最好是二者是同一個版本的,不然有可能就會出問題。

     b.我們有時候明明<dependency>沒寫錯,卻偏偏各種報錯,可以刪掉本地對應的jar,重新下載,就ok了。

  11、學習建議:mvn這個東西,就是難者不會,會者不難。基本上按照這樣一個路線就問題不大,基本使用 => 了解繼承/聚合 => 了解jar包沖突機制,並解決沖突 =>了解mvn的3個默認聲明周期 ,生命周期的各個階段phase ,各個階段的目標goal => mvn的插件開發 => Nexus私服搭建及其使用。大致這樣一個過程下來,就能非常熟悉mvn,如果在稍微看看mvn的源碼,大致看一看,基本上可以說是精通mvn了。

《Nexus3.x.x上傳第三方jar》參考:http://blog.csdn.net/iopfan/article/details/71107686

轉:http://www.cnblogs.com/dreamroute/p/5440419.html

Nexus搭建Maven私服