1. 程式人生 > >maven私服搭建和使用(初級篇)

maven私服搭建和使用(初級篇)

為什麼要用遠端倉庫(私服)

  如果沒有私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的maven倉庫下載到本地,而一個團隊中的所有人都重複的從maven倉庫下載構件,這樣就加大了中央倉庫的負載和浪費了外網的頻寬,如果網速慢的話還會影響專案的程序。為團隊建立私服,可以讓公司的團隊共享一套構件,加快了專案搭建的程序。所以我們選擇用Nexus建立私服。

Nexus下載

Nexus安裝

1)解壓

$ tar zxvf nexus-2.1.2-bundle.tar.gz

2)移動到其他目錄

$ mv nexus-2.1.2 /home/nexus

3)進入nexusbin目錄下

$ cd /home/nexus/bin

4)執行命令啟動服務

$  ./nexusstart

5)執行命令停止服務

$  ./nexusstop

Nexus瀏覽

啟動服務之後,瀏覽器中輸入:http://127.0.0.1:8081/nexus/,預設使用者名稱和密碼是adminadmin123.出現如圖所示執行成功:


Nexus倉庫型別介紹

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

        group:倉庫組,用了合併多個hosted/proxy倉庫,當你的專案希望多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。

        hosted:宿主,本地倉庫,通常我們會部署自己的構建到這一類倉庫。

        proxy:代理倉庫,通常被用來代理遠端的公共倉庫,如

maven中央倉庫。

        virtual:虛擬

主要介紹一下三個本地倉庫:

 Releases:用來部署管理內部的釋出版本構件的宿主型別倉庫,這裡存放我們自己專案中釋出的構建,通常是Release版本的, 比如我們自己做了一個FTP Server的專案, 生成的構件為ftpserver.war,我們就可以把這個構建釋出到Nexus的Releases本地倉庫。

Snapshots:用來部署管理內部的快照版本構件的宿主型別倉庫,它的目的是讓我們可以釋出那些非release版本, 非穩定版本,比如我們在trunk下開發一個專案,在正式release之前你可能需要臨時釋出一個版本給你的同伴使用, 因為你的同伴正在依賴你的模組開發,那麼這個時候我們就可以釋出Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本。

3rd Party:無法從公共倉庫獲得的第三方釋出版本的構件倉庫,比如有些構件在中央倉庫是不存在的.比如你在中央倉庫找不到Oracle 的JDBC驅動, 這個時候我們就需要自己新增到3rdparty倉庫。

下載索引

nexus索引好比目錄,只要我們更新好索引,就可以在nexus系統中去查詢,下載我們需要的jar包,並且對應的groupIdartifactIdversion都可以方便的查到。如圖:


剛剛搭建的nexus,索引會是空的,所以需要我們去下載索引。

下載索引有兩種方式

第一種:線上下載索引。把Centra倉庫,點選倉庫下面的configuration下把DownloadRemote Indexes修改為true。如下圖:


然後在Central倉庫上右擊,選擇Pepari Index,這樣Nexus就會去下載索引檔案。

第二種:離線下載索引。

由於索引檔案很大,線上下載會很漫長,所以採用離線下載會很快。從網上找到一個nexus索引倉庫包下載下來,如圖:


下載完成以後解壓,把資料夾中的東西拷貝到sonatype-work/nexus/indexer/central-ctx下面:


重新啟動一下nexus

能夠很快的把索引下載過來。如圖:


如果中間添加了新的jar包想更新索引,點中右擊update index就行了。如圖:


專案中配置Nexus倉庫

mavensetting.xml檔案配置

  1. <settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"
  2.           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  4. <!--存放本地倉庫的地方-->
  5.   <localRepository>D:/Java/maven/repository</localRepository>
  6.     <!--私服的驗證資訊-->
  7.     <servers>
  8.         <server>
  9.             <id>releases</id>
  10.             <username>admin</username>
  11.             <password>admin123</password>
  12.         </server>
  13.         <server>
  14.             <id>snapshots</id>
  15.             <username>admin</username>
  16.             <password>admin123</password>
  17.         </server>
  18.     </servers>
  19.     <!--maven對全部倉庫的訪問全部攔截到私服的public倉庫中去,如果私服關閉,那麼久不能訪問中央工廠了-->
  20.     <mirrors>
  21.         <mirror>
  22.             <id>nexus</id>
  23.             <mirrorOf>*</mirrorOf>
  24.             <name>Local Repository</name>
  25.               <url>http://127.0.0.1:8081/nexus/content/groups/public</url>
  26.         </mirror>
  27.     </mirrors>
  28.     <!--配置倉庫的一些資訊,其主要作用是用來覆寫central中央倉庫的一些配置資訊-->
  29.     <profiles>
  30.         <profile>
  31.             <id>central</id>
  32.             <repositories>
  33.                 <repository>
  34.                     <id>central</id>
  35.                     <name>Central</name>
  36.                     <!-- 該 url 沒有意義,可以隨便寫,但必須有。 -->
  37.                     <url>http://*</url>
  38.                     <releases><enabled>true</enabled></releases>
  39.                     <snapshots><enabled>true</enabled></snapshots>
  40.                 </repository>
  41.             </repositories>
  42.             <pluginRepositories>
  43.                 <pluginRepository>
  44.                     <id>central</id>
  45.                     <name>local private nexus</name>
  46.     <url>http://127.0.0.1:8081/nexus/content/groups/public</url>
  47.                     <releases><enabled>true</enabled></releases>
  48.                     <snapshots><enabled>true</enabled></snapshots>
  49.                 </pluginRepository>
  50.             </pluginRepositories>
  51.         </profile>
  52.     </profiles>
  53.     <!--啟用上面配置的倉庫資訊-->
  54.     <activeProfiles>
  55.         <activeProfile>central</activeProfile>
  56.     </activeProfiles>
  57. 相關推薦

    maven搭建使用初級

    為什麼要用遠端倉庫(私服)  如果沒有私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的maven倉庫下載到本地,而一個團隊中的所有人都重複的從maven倉庫下載構件,這樣就加大了中央倉庫

    Maven 搭建使用

    一、下載安裝 1. 私服下載地址  https://www.sonatype.com/download-oss-sonatype 2.下載完成後解壓任意目錄,我的是D:\soft\nexus2\nexus-2.14.8-01 3.安裝  在D:\soft\

    Linux 下maven搭建安裝

    一、準備安裝包:nexus-3.3.2-02-unix.tar.gz (版本3.x 必須配合jdk1.8)和 apache-maven-3.5.0-bin.zip nexus:下載地址:https://www.sonatype.com/download-oss-sonaty

    ava Maven項目之Nexus搭建版本管理應用

    max 權限 環境 val 導致 type www. exit frame 目錄: Nexus介紹 環境、軟件準備 Nexus服務搭建 Java Maven項目版本管理應用 FAQ 1、Nexus介紹 Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部

    Java Maven專案之Nexus搭建版本管理應用

    目錄: Nexus介紹 環境、軟體準備 Nexus服務搭建 Java Maven專案版本管理應用 FAQ 1、Nexus介紹 Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部倉庫的維護和外部倉庫的訪問。利用Nexus你可以只

    Maven 安裝啟動

    系統 中一 找到 原因 為我 沒有 border win7 dmi 在安裝私服的時候容易碰到的兩個問題,一個是安裝時拒絕訪問,另一個是安裝完成後服務無法啟動; 拒絕訪問問題: 原因:沒有以管理員身份運行 cmd 解決辦法: 如果是 win7 的話,可以直接在 【運行-

    cnpm搭建發布包

    block 郵箱 講解 cnp log 默認 info pos body cnpm 1.cnpm就是淘寶做的一個npm鏡像,定期更新npm包,就是方便墻內的人。此外還可以用它搭建企業內部的npm私服。比如一些企業內部的包不能公開,還有想進行版本管理等等,就很方便。

    Maven 搭建

    mirror dex 隔離 lan manager 3.1 localhost 拷貝 mirrorof 由於公司研發環境物理隔絕,所以自己搭建了一個 maven 私服,以下是自己搭建私服過程中的一個記錄。 1.準備Maven私服相關文件   1.1 從 sonatype

    maven搭建nexus

                                       maven私服 正式開發,不同的專案組開發不同

    maven搭建使用

    前言 專案開發時,一般採用Maven來進行專案構建,管理,jar包下載,專案組開發人員開發時,只要在專案的pom.xml檔案中,新增如下pom.xml資訊從公共的庫中下載相關的Jar包以及依賴Jar包,但有時候公共的庫不是那麼穩定而且下載速度往往很慢,一個團隊一起開發專案時,如果每個組員都去

    Maven 搭建及破解使用入門教程

    Nexus下載 :https://blog.sonatype.com/   或下載我分享的 https://pan.baidu.com/s/1mEwkrTfg0dp3D7gJSEvueA 解壓:   破解: 將 &

    maven搭建

    maven免費視訊地址 私服搭建 屬於配置工程師 (工作範疇) 去官網下載 nexus  下載網站  http://nexus.sonatype.org/ 下載war格式 (還有bundle格式 ) : nexus-2.7.0-

    真正的maven搭建器--Artifactory

        一個團隊要真正用好Maven,repository私服是免不了的,否則team mate們多好奇的目光,都會全部消耗在漫長的jar下載中。    以前介紹過一個搭建私服的簡樸但很笨的辦法--將雷鋒同志下載好的.m2/repository目錄整個上傳到任意的Web伺服器中。其實世上多的是專業的mav

    Maven搭建(nexus)

    1關於中央倉庫注意事項(瞭解) l 地址: 目前來說: http://repo1.maven.org/maven2/是真正的Maven中央倉庫的地址,該地址內建在Maven的原始碼中其他的都是映象 l 索引: 中央倉庫帶有索引檔案以方便使用者對其進行搜尋,完整的索引檔案大

    關於android studio上maven搭建

    1.首先jdk等必須的環境,maven在studio中自帶不需要下載配置 3.開啟目錄nexus-2.4.0-09-bundle\nexus-2.4.0-09\bin\jsw這個目錄下面你會發現有很多系統版本的nexus環境    我的電腦是win7 (64)為的

    maven 搭建nexus 3.0.1,安裝,使用

    一 安裝 注意: 檢視其它nexus-3.0.0-03-win64 安轉文件,提示需要安裝jdk1.8,但是本人安裝的是jdk1.7,安裝執行,沒發現有什麼問題; 二,功能介紹    1.Search , 查詢私服中有哪些包, 在Search 級中可以使用模糊搜尋,

    Python之面向對象初級

    one 這一 調用 現實生活 ram 每次 open java 自我 面向過程:根據業務邏輯從上到下寫壘代碼 函數式:將某功能代碼封裝到函數中,日後便無需重復編寫,僅調用函數即可 面向對象:對函數進行分類和封裝,讓開發“更快更好更強...” 面向過程編程最易被初學者接受

    Python 正則表達式入門初級

    -name regex sna per 級別 腦洞 現在 裏的 改變 Python 正則表達式入門(初級篇) Python 正則表達式入門(初級篇) 本文主要為沒有使用正則表達式經驗的新手入門所寫。轉載請寫明出處 引子 首先

    Python 面向對象初級

    編程方式 can func 中斷 業務 存在 src 面向過程編程 display 概述 面向過程:根據業務邏輯從上到下寫壘代碼 函數式:將某功能代碼封裝到函數中,日後便無需重復編寫,僅調用函數即可 面向對象:對函數進行分類和封裝,讓開發“更快更好更強

    面向物件程式設計其實很簡單——Python 面向物件初級

    概述 面向過程:根據業務邏輯從上到下寫壘程式碼 函式式:將某功能程式碼封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 面向物件:對函式進行分類和封裝,讓開發“更快更好更強...” 面向過程程式設計最易被初學者接受,其往往用一長段程式碼來實現指定功能,開發過