centos7搭建nexus maven2.x私服

前置條件:html

1.安裝jdk,可參考 http://www.cnblogs.com/grey-wolf/p/6480489.htmlvim

2.nexus倉庫管理器,分爲兩個版本,Nexus Repository Manager OSS 和 Nexus Repository Manager Pro。前者能夠無償使用,相比後者,功能缺乏一些,可是不影響咱們搭建maven私服。瀏覽器

因此就選擇OSS版本。服務器

下載地址:https://www.sonatype.com/download-oss-sonatype,下載不下來能夠去這裏 http://download.csdn.net/detail/cctvckl/9766638oracle

文檔下載地址:app

http://books.sonatype.com/nexus-book/pdf/nxbook-pdf.pdfmaven

 

好了,讓咱們正式開始吧。ide

  1. 安裝nexus服務器
  • 上傳tar.gz包到指定目錄(我這邊假定是/home/ckl/upload)

  rz
  mv nexus-2.14.3-02-bundle.tar.gz /home/ckl/upload/測試

  • 解壓到/usr/local
    tar -zxvf /home/ckl/upload/nexus-2.14.3-02-bundle.tar.gz -C /usr/local/ui

  注意:

  必定要解壓到這個目錄下,具體緣由我也不知道,文檔裏是這麼作的,咱們也不必本身找麻煩。

  • 創建軟連接

  sudo ln -s nexus-2.14.3-02 nexus 

  • 查看/usr/local目錄,結果以下:

  

  • 設置環境變量(按官網文檔的說法是可選,不過仍是配上吧)

  vim /etc/profile,在最後加上下面這一句,:wq保存退出

  

  • source /etc/profile 刷新剛設置的環境變量,使之生效
  • 查看結果

  

  1. 啓動服務器

(博客園的這個數字序號不知道怎麼才能設成2.有知道的朋友麻煩告知下)

  前臺啓動:

  cd /usr/local/nexus
  ./bin/nexus console

  之後臺進程啓動:

  ./bin/nexus start
  查看輸出的日誌:

  tail -f logs/wrapper.log 

  好了,咱們來前臺啓動一下。咦,沒起來,提示:

  

  意思是堅持使用root用戶運行的話,須要設置一個環境變量.

  vim /etc/profile

  結尾加上

  export RUN_AS_USER=root

  保存退出。

  刷新:source /etc/profile

  再次運行,結果以下:

從紅框標識及相關文檔,能夠知道,進程在8081端口啓動。

好了,咱們在瀏覽器上看看能不能訪問吧,路徑:

http://192.168.2.141(換成你的ip):8081/nexus. 

 結果如圖所示:

 

點擊右上角登陸:

默認用戶名爲admin,密碼admin123

 

3.搭建私服

3.1 界面元素介紹

 

登陸後,點擊左側Repositories,界面如上圖所示。

右側的列表中,能夠看到nexus預設的幾個倉庫。

第一個public Repositories,類型爲group,這個簡單理解爲倉庫的集合,下面的倉庫就是能夠加入到這個集合的元素。

對外能夠只提供一個單獨的url,如上圖顯示爲:http://192.168.2.141:8081/nexus/content/groups/public/

大部分的終端用戶,只須要配置上面這一個單獨的聚合後的url,而不用單獨配置多個倉庫。用戶也不須要知道某個jar包具體來源於maven 中央倉庫,或者是Apache Snapshots,或者是咱們本身添加的其餘倉庫。

這樣的好處在於:若是咱們要新增某個倉庫(如開源中國、阿里雲),客戶端不須要作任何更改,只須要在nexus上將要新增的倉庫加入到對外提供服務的倉庫 group中就能夠。

第二個3rd party,與倒數第一個和第二個倉庫,Releases和Snapshots同樣,類型爲hosted,意思是由nexus本機管理的倉庫。該倉庫用於商業化的,第三方提供的非開源的依賴倉庫,如oracle jdbc driver。

倒數第二個Releases,用於存放開發團隊內部用的正式版的依賴。

倒數第一個Snapshots,用於存放開發團隊內部平常構建的頻率更新較快的依賴包。

Apache Snapshots和Central類型都是proxy,意思是遠端倉庫的代理。前者包含了Apache Software Foundation 發佈的快照版本(這麼翻譯不知道對不對),後者爲Maven中央倉庫,咱們平時maven默認就是鏈接該倉庫。

Central M1 Shadow類型爲virtual,按官方文檔的意思是,只是已有倉庫的一個不一樣呈現方式的映射。有須要能夠參考官方手冊6.2.3節。

 

3.2 倉庫集合的界面

點擊Configuration,能夠看到當前添加到該集合的倉庫列表及順序(優先級高的在上面,可用鼠標拖拽),當咱們新增了倉庫,將會出如今右側的available Repository,添加到左邊便可。

若是有哪一個倉庫不想加入到該集合,也能夠拖拽到右邊來。

 

3.3使用本地maven客戶端測試nexus是否成功部署

首先複製倉庫集合的repository url,客戶端配置須要用到。

配置maven客戶端:

打開settings.xml,按照以下步驟修改:(該部分參考文檔4.2節)

複製代碼

<mirrors>
    <mirror>
    <!--This sends everything else to /public -->
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.2.140:8081/nexus/content/groups/public</url>
    </mirror>
</mirrors>

複製代碼

<profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

複製代碼

 

 

 

複製代碼

接下來在ide中測試下(我我的用maven命令行很少,不熟悉,仍是用intelj idea演示吧)

在idea中依次打開File--Settings--搜索Maven--出現以下界面:

保證上述幾項指向正在用的maven目錄和配置文件便可。點擊ok,退出。

 

 打開Maven Projects窗口,勾選Profiles中的nexus。

隨便新建一個maven工程,在pom中添加一項本地倉庫中沒有的依賴,應該出現以下圖示:(下圖能夠看出,正在去咱們配置的私服下載maven依賴)

至此。大致配置完成。

上傳本地內部依賴到私服,能夠參考:

http://jingyan.baidu.com/article/a948d6517b72eb0a2dcd2e2a.html

ps:有問題歡迎你們一塊兒討論,也能夠直接參考文章開頭髮的pdf文檔,很是詳細。

相關文章
相關標籤/搜索