簡介
Nexus是Maven倉庫管理器,也可以叫Maven的私服。Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部倉庫的維護和外部倉庫的訪問。利用Nexus你可以只在一個地方就能夠完全控制訪問和部署在你所維護倉庫中的每個Artifact。Nexus是一套“開箱即用”的系統不需要數據庫,它使用文件系統加Lucene來組織數據。
Nexus不是Maven的核心概念,它僅僅是一種衍生出來的特殊的Maven倉庫。對於Maven來說,倉庫只有兩種:本地倉庫和遠程倉庫。
本地倉庫就是我們在maven的setting.xml中配置的本地倉庫地址。由於最原始的本地倉庫是空的,Maven必須知道至少一個可用的遠程倉庫,才能在執行Maven命令的時候下載到需要的構件。
中央倉庫是maven默認的遠程倉庫。
私服是架設在局域網的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構件。有了私服之後,當 Maven 需要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠程倉庫,將構件下載到私服,再提供給本地倉庫下載。
爲什麼使用Nexus?
1、節省外網帶寬。
大量對於外部倉庫的重複請求會消耗帶寬,利用私服代理外部倉庫,可以消除對外的重複構件下載,降低帶寬的壓力。
2、加速Maven構建。
不停地連接請求外部倉庫十分的耗時,Maven在執行構建的時候不停地檢查遠程倉庫的數據。利用私服,Maven只檢查局域網的數據,提高構建的速度。
3、部署第三方構件。
當某個構件無法從任何一個外部遠程倉庫獲得。建立私服之後,便可以將這些構件部署到私服,供內部的Maven項目使用。
4、提高穩定性,增強控制。
Maven構建高度依賴於遠程倉庫,因此,當網絡不穩定的時候,Maven構建也會變得不穩定,甚至無法構建。私服緩存了大量構建,即使暫時沒有網絡,Maven也可以正常的運行。
5、降低中央倉庫的負荷。
使用私服可以避免很多對中央倉庫的重複下載,降低中央倉庫的壓力。
安裝Nexus
Nexus專業版是需要付費的,我們使用的開源版Nexus OSS。Nexus提供了兩種安裝方式,一種是內嵌Jetty的bundle,只要你有JRE就能直接運行。第二種方式是不包含容器的WAR包,你只須簡單的將其發佈到web容器中即可使用。
Nexus下載:
下載地址:http://www.sonatype.org/nexus/go,下載最新版本的Nexus,我使用的是nexus-2.8.1-bundle。
Bundle方式安裝:
1、將nexus-2.8.1-bundle.zip解壓至任意目錄,如:D:\tools\maven。這是會得到如下兩個目錄:
1.1、nexus-2.8.1-01:該目錄包含了Nexus運行所需要的文件,如啓動腳本、依賴jar包等。
打開目錄\nexus-2.8.1-01\bin\jsw這個目錄下面你會發現有很多系統版本的nexus環境,如下圖:
我的電腦是windows的系統,我打開一個文件夾,文件夾包含是nexus的命令,如下圖:
1.2、sonatype-work:該目錄包含Nexus生成的配置文件、日誌文件、倉庫文件。該目錄不是必須得,Nexus會在運行的時候動態的創建,不再過多的介紹。
2.、爲方便啓動和退出Nexus,將bin添加到環境變量。
3.、使用命令nexus install將nexus安裝到windows的服務中。
Nexus啓動成功了,然後打開瀏覽器,訪問http://localhost:8081/nexus,你會看到如下的頁面:
要停止Nexus,Ctrl+C即可,也可以使用stop命令。
WAR方式安裝:
你需要有一個能運行的webapp的容器,這裏以Tomcat爲例,加入Tomcat的安裝目錄位於D:\tools\apache-tomcat-6.0.18 ,首先我們將下載的nexus-webapp-1.3.0.war 重命名爲nexus.war ,然後複製到D:\tools\apache-tomcat-6.0.18\webapps\nexus.war ,然後啓動CMD,cd到D:\tools\apache-tomcat-6.0.18\bin\ 目錄,運行startup.bat 。一切OK,現在可以打開瀏覽器訪問http://127.0.0.1:8080/nexus,你會得到和上圖一樣的界面。
登錄
點擊右上角 Log In,使用用戶名:admin ,密碼:admin123 登錄,可使用更多功能。
總結:
Nexus的介紹和安裝,非常的簡單,如果有問題可以留言。下篇博文我們詳細的介紹Nexus的倉庫和倉庫組。