自己動手搭建Nexus

為什么要搭建私服

搭建Nexus私服的主要目的是為了解決工作上組件之間的jar包依賴管理茎匠。特別是基礎(chǔ)架構(gòu)部門的jar包要共享出來娃肿,就需要把jar包deploy發(fā)布到nexus私服上间护。

第一步: 安裝Nexus

準(zhǔn)備工作

  • 找一臺linux系統(tǒng)的虛擬機服務(wù)器待讳,系統(tǒng)centos 7
  • jdk 1.8
  • nexus-3.9.0-01-unix.tar.gz
  • 客戶端安裝了maven

下載與安裝

  • 下載安裝包:https://pan.baidu.com/s/1LjwzEax71H6emkUL3uZRcw煌茴,可以到官網(wǎng)上去下載最新版本的义辕。
  • 上傳并解壓安裝包
    xshell工具將安裝包上傳服務(wù)器:/usr/local/nexus目錄下
    執(zhí)行解壓:
tar -xzvf nexus-3.9.0-01-unix.tar.gz
  • 修改配置
    可以在nexus-default.properties文件中(位于/nexus-3.9.0-01/etc/目錄下)修改WEB訪問端口等信息,默認(rèn)為8081端口衣撬;
    防火墻放行8081端口乖订;
  • 啟動
    執(zhí)行: cd nexus-3.9.0-01/bin,進入到bin目錄具练,執(zhí)行:
./nexus run 

檢驗是否安裝成功

打開瀏覽器乍构,訪問:http://ip地址:8081/
默認(rèn)用戶名 admin 默認(rèn)密碼 admin123

image.png

到此,Nexus 安裝完成扛点。

第二步: 配置Nexus

私服工作原理:

配置Nexus之前哥遮,需要先了解一下私服的工作原理,如下圖:


image

找依賴包的流程: 首先在本地倉庫中找陵究,如果沒命中眠饮,那么就找遠程私服;遠程私服的查找規(guī)則同樣是先找host屬性的私有庫铜邮,然后再去找proxy屬性的遠程倉庫仪召;可以配置多個proxy寨蹋;

Nexus倉庫類型介紹

默認(rèn)安裝有以下這幾個倉庫,在控制臺也可以修改遠程倉庫的地址扔茅,第三方倉庫等已旧。

  • hosted(宿主倉庫庫) :存放本公司開發(fā)的jar包(正式版本、測試版本)
  • proxy(代理倉庫):代理中央倉庫召娜、Apache下測試版本的jar包
  • group(組倉庫):使用時連接組倉庫运褪,包含Hosted(宿主倉庫)和Proxy(代理倉庫)

分組倉庫的配置

如上圖所示,maven-public就我創(chuàng)建的組倉庫玖瘸。以及還創(chuàng)建了3個代理倉庫秸讹,如下。

1雅倒、jCenter阿里云倉庫:http://maven.aliyun.com/nexus/content/groups/public/

2璃诀、maven中央倉庫:https://repo1.maven.org/maven2/

最后建立組倉庫maven-public,如下屯断。

組倉庫中包含了jcenter文虏、maven-central、本地maven-releases殖演,本地maven-snapshots。

** 至此年鸳,Nexus基本就這么配置好了趴久,主要在Group組中配置一個代理私服。**

第三步:配置下載依賴 setting.xml

添加maven倉庫鏡像

創(chuàng)建好組倉庫之后搔确,修改setting.xml文件彼棍,添加maven倉庫鏡像,如下:

<mirror>
  <id>nexus-myself</id>
  <!--*指的是訪問任何倉庫都使用我們的私服-->
  <mirrorOf>*</mirrorOf>
  <name>Nexus myself</name>
  <url>http://192.168.124.29:8081/repository/maven-public/</url>
</mirror>

全局配置下載依賴(即項目pom無需配置)

在maven的setting.xml文件中配置私服配置膳算,這種方式配置后所有本地使用該配置的maven項目的pom文件都無需配置私服下載相關(guān)配置座硕。

<profiles>
  <profile>
     <id>mycof</id>
        <repositories>
        <!-- 私有庫地址-->
          <repository>
          <id>nexus</id>
          <url>http://192.168.124.29:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--插件庫地址-->
        <pluginRepository>
          <id>nexus</id>
          <url>http://192.168.124.29:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile> 

激活使用上面的配置

<!--激活profile-->
<activeProfiles>
  <activeProfile>mycof</activeProfile>
</activeProfiles>

單獨項目下載依賴(即項目pom文件中配置)

這種配置是修改單個項目的pom文件,無需修改maven的setting配置

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://192.168.124.29:8081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

建議使用全局的setting配置涕蜂,一個項目組共用一個maven的setting配置华匾,項目中就無需配置下載相關(guān)的私服倉庫配置

第四步:上傳jar包配置

對于中央倉庫沒有的jar包,需要我們自己將jar包發(fā)布到私服中去机隙,其中jar包主要分為兩類蜘拉,
一類是本地自己開發(fā)供給項目組其余同事使用,這種直接配置項目的pom文件和maven的setting文件有鹿,之后deploy發(fā)布即可發(fā)布到旭旭;
另一類是第三方j(luò)ar包,可以直接使用web頁面上傳并設(shè)置對應(yīng)GAV即可葱跋;

本地maven開發(fā)的項目上傳配置

1.maven的setting文件配置
這里要配置配置上傳用戶及倉庫信息持寄,我這里直接使用了admin用戶源梭,在nenus2.x中還內(nèi)置了一個deployment/deployment123用戶,在3.x該用戶被移除了稍味,這里可以自己配置角色和用戶咸产,我就直接使用admin用戶了

<servers>
    <server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
    <server>  
        <id>maven-snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>
  </servers>

2.項目中的pom文件配置

   <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.124.29:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.124.29:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

3.執(zhí)行maven的deploy命令
這是myeclipse中上傳本地項目jar到私服,IDEA中更為簡單直接點擊maven周期中的deploy即可


image.png

出現(xiàn)uploading信息并且沒報錯說明上傳成功仲闽。

然后到對應(yīng)的倉庫中查看


image.png

注意:

  1. 這里只有Snapshot的倉庫上傳成功脑溢,Release倉庫并沒有上傳成功,這是因為版本號名稱結(jié)尾有SNAPSHOT赖欣,默認(rèn)以這個結(jié)尾是不會上傳到Release倉庫去的屑彻,去除就會上傳到Release倉庫且不會上傳到快照倉庫

  2. Release倉庫默認(rèn)不支持重復(fù)發(fā)布,可配置

  3. 注意setting中server標(biāo)簽下的id要和pom文件中倉庫配置的id相同顶吮,即指定上傳到哪個倉庫

第三方j(luò)ar包上傳

對于第三方j(luò)ar包的上傳采用nenus提供的web界面上傳社牲,上傳成功后需要使用該jar包的話,依賴中填寫自定義的GAV即可


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悴了,一起剝皮案震驚了整個濱河市搏恤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湃交,老刑警劉巖熟空,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異搞莺,居然都是意外死亡息罗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門才沧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迈喉,“玉大人,你說我怎么就攤上這事温圆“っ” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵岁歉,是天一觀的道長得运。 經(jīng)常有香客問我,道長刨裆,這世上最難降的妖魔是什么澈圈? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮帆啃,結(jié)果婚禮上瞬女,老公的妹妹穿的比我還像新娘。我一直安慰自己努潘,他們只是感情好诽偷,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布坤学。 她就那樣靜靜地躺著,像睡著了一般报慕。 火紅的嫁衣襯著肌膚如雪深浮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天眠冈,我揣著相機與錄音飞苇,去河邊找鬼。 笑死蜗顽,一個胖子當(dāng)著我的面吹牛布卡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雇盖,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼忿等,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了崔挖?” 一聲冷哼從身側(cè)響起贸街,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狸相,沒想到半個月后薛匪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡卷哩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年蛋辈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片将谊。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渐白,靈堂內(nèi)的尸體忽然破棺而出尊浓,到底是詐尸還是另有隱情,我是刑警寧澤纯衍,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布栋齿,位于F島的核電站,受9級特大地震影響襟诸,放射性物質(zhì)發(fā)生泄漏瓦堵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一歌亲、第九天 我趴在偏房一處隱蔽的房頂上張望菇用。 院中可真熱鬧,春花似錦陷揪、人聲如沸惋鸥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卦绣。三九已至耐量,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滤港,已是汗流浹背廊蜒。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留溅漾,地道東北人山叮。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像樟凄,于是被迫代替她去往敵國和親聘芜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 首先私服是一種衍生出來的特殊的Maven遠程倉庫缝龄,構(gòu)建私服的好處請看3.5私服 可以幫助大家建立私服的倉庫管理軟件...
    zlcook閱讀 10,535評論 0 32
  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機制(重要)] 1Maven倉庫作用 倉庫用來存儲所有項目使用到構(gòu)件汰现,在ma...
    zlcook閱讀 6,032評論 0 25
  • 在 Maven 的術(shù)語中,倉庫是一個位置(place)叔壤。Maven 倉庫是項目中依賴的第三方庫瞎饲,這個庫所在的位置叫...
    41uLove閱讀 6,881評論 2 3
  • |轉(zhuǎn)述師:田龍| (1)心、性炼绘、理嗅战、氣、天命……理學(xué)家到底想說什么 今天繼續(xù)談?wù)劇洞髮W(xué)》俺亮,先來回顧一下昨天留下的問...
    離瀟閱讀 1,576評論 0 0
  • 《時間整理術(shù)》驮捍,作者牛婧,是一本針對性的個人時間管理書脚曾,適用于每個人的時間整理術(shù)东且。我在2015年4月閱讀,與大多數(shù)...
    啟鴻閱讀 272評論 0 0