[轉]Maven與nexus關係

來源:互聯網
上載者:User

標籤:

開始在使用Maven時,總是會聽到nexus這個詞,一會兒maven,一會兒nexus,當時很是困惑,nexus是什麼呢,為什麼它總是和maven一起被提到呢?

我們一步一步來瞭解吧。

 一、瞭解Maven,Maven用來幹什麼呢1. 優秀的構建工具

通過簡單的命令,能夠完成清理、編譯、測試、打包、部署等一系列過程。同時,不得不提的是,Maven是跨平台的,無論是在Windows、還是在Linux或Mac上,都可以使用同樣的命令。

2. 依賴管理工具

項目依賴的第三方的開源類庫,都可以通過依賴的方式引入到項目中來。代替了原來需要首先下載第三方jar,再加入到項目中的方式。從而更好的解決了合作開發中依賴增多、版本不一致、版本衝突、依賴臃腫等問題。

具體是怎麼實現的呢?Maven通過座標系統準確的定位每一個構件,即通過座標找到對應的Java類庫。

3. 項目資訊管理工具

能夠管理項目描述、開發人員列表、版本控制系統地址、許可證等一些比較零散的項目資訊。除了直接的項目資訊,通過Maven自動產生的網站,以及一些已有的外掛程式,還能夠輕鬆獲得項目文檔、測試報告、靜態分析報告、源碼版本、日誌報告等非常具有價值的項目資訊。

二、 Maven與Nexus

這個問題從Maven的第二個用處說起,依賴管理,通過在Pom中指定座標的形式將jar引入到項目中。那這個過程,要經曆怎樣一個流程呢?從哪裡尋找jar?下載的jar放到哪裡?

將這個問題順下來,就知道nexus和maven的關係了。

從哪裡找到jar?項目用到的jar又存放在哪裡?這引出了倉庫的概念,maven通過倉庫來統一管理各種構件。Maven的倉庫分為本地倉庫和遠程倉庫。

當Maven根據座標尋找構件時,它首先會查看本地倉庫,如果本地倉庫存在此構件,則直接使用;如果本地倉庫不存在此構件,或者需要查看是否有更新的構件版本,Maven會去遠程倉庫尋找,發現需要的構件之後,下載到本地倉庫再使用。

到了這裡,問題的答案也就出來了。

首先,Nexus是一種遠程倉庫,根據上段的介紹,我們已經知道遠程倉庫的作用。在遠程倉庫中,預設的是中央倉庫,中央倉庫是Maven核心內建的遠程倉庫。那就使用中央倉庫不就得了嗎,為什麼我們要安裝Nexus呢?

我們從項目實際開發來看:

1.一些無法從外部倉庫下載的構件,例如內部的項目還能部署到私服上,以便供其他依賴項目使用。

2. 為了節省頻寬和時間,在區域網路內架設一個私人的倉程式庫伺服器,用其代理所有外部的遠程倉庫。當本地Maven項目需要下載構件時,先去私服請求,如果私服沒有,則再去遠程倉程式庫要求,從遠程倉庫下載構件後,把構件緩衝在私服上。這樣,及時暫時沒有Internet連結,由於私服已經緩衝了大量構件,整個項目還是可以正常使用的。同時,也降低了中央倉庫的負荷。

Nexus僅僅是私服的一種。

 

http://blog.csdn.net/liusong0605/article/details/25654811

[轉]Maven與nexus關係

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.