1. 程式人生 > 實用技巧 >使用Nexus建立Maven私服

使用Nexus建立Maven私服

>>> hot3.png

通過建立自己的私服,就可以降低中央倉庫負荷、節省外網寬頻、加速Maven構建、自己部署構件等,從而高效的使用Maven。有三種專門的Maven倉庫管理軟體可以用來幫助大家建立私服:Apache基金會的Archiva、JFrog的Artifactory和Sonatype的Nexus。個人只使用過Sonatype的Nexus,目前來說,應該也是當前最流行的Maven倉庫管理軟體。

1.Nexus簡單介紹

Nexus分為開源版和專業版,其中開源版本基於GPLv3許可證,其特性足以滿足大部分Maven使用者的需要。以下是一些Nexus開源版本的特性:

  • 較小的記憶體佔用(最少僅為28MB)
  • 基於ExtJS的友好介面
  • 基於Restlet的完全REST API
  • 支援代理倉庫、宿主倉庫和倉庫組
  • 基於檔案系統,不需要資料庫
  • 支援倉庫索引和搜尋
  • 支援從介面上傳Maven構件
  • 細粒度的安全控制

Nexu專業版本是需要付費購買的,除了開源版本的特性外,它主要包含一些企業安全控制、釋出流程控制等需要的特性。感興趣的可以訪問該地址瞭解瞭解:https://www.sonatype.com/nexus-repository-sonatype。

2.安裝Nexus

Nexus是典型的Java Web應用,它有兩種安裝包,一種是包含Jetty容器的Bundle包,另一種是不包含Web容器的war包,不過小Alan現在去官網下載的時候貌似只發現了Bundle包,沒有發現war包的存在,大家可以自己注意一下,小Alan下載的是開源版本的Bundle包,後面會以這個為基礎給大家講解。

①下載Nexus

使用Nexus建立Maven私服

最新的版本是3.x,小Alan選擇的是下面的2.x,最新的版本改動比較大,很多東西小Alan也還沒去摸索,所以不好拿出來演示,目前軟體公司用的最多的應該還是2.x版本,這裡就給大家演示2.x版本,當然,感興趣的童鞋可以在看完小Alan寫的文章後自己去下載最新的版本摸索摸索。

②安裝Nexus

Nexus的Bundle自帶了Jetty容器,因此使用者不需要額外的Web容器就能直接啟動Nexus。

將其解壓到某個目錄下面,會得到如下兩個子目錄:

使用Nexus建立Maven私服

nexus-2.14.2-01:該目錄包含了Nexus執行所需要的檔案,如啟動指令碼、依賴jar包等。

sonatype-work:

該目錄包含了Nexus生成的配置檔案、日誌檔案、倉庫檔案等。

其中第一個目錄是執行Nexus所必需的,第二個目錄不是必需的,這裡給大家說一下怎麼在Windows系統下安裝和啟動Nexus(linux也是同理,通過命令執行相關的指令碼)。

在windows系統上,使用者需進入D:\ide\nexus\nexus-2.14.2-01\bin\jsw\windows-x86-64子目錄,然後直接執行console-nexus.bat指令碼就能啟動Nexus。執行輸出如下:

使用Nexus建立Maven私服

這時,開啟瀏覽器訪問http://localhost:8081/nexus就能看到Nexus的介面了,如圖:

使用Nexus建立Maven私服

要停止Nexus,可以在命令列按Ctrl+C鍵。

在D:\ide\nexus\nexus-2.14.2-01\bin\jsw\windows-x86-64目錄下還有其他一些指令碼:

  • install-nexus.bat:將Nexus安裝成Windows服務。
  • uninstall-nexus.bat:解除安裝Nexus Windows服務。
  • start-nexus.bat:啟動Nexus Windows服務。
  • stop-nexus.bat:停止Nexus Windows服務。

關於Bundle安裝的一個常見問題是埠衝突。Nexus Bundle預設使用的埠是8081,如果該埠已經被其他應用程式佔用,或者你想使用80埠開放Nexus服務,則編輯檔案D:\ide\nexus\nexus-2.14.2-01\conf\nexus.properties,找到屬性application-port,按需要將預設值8081改成其他埠號,然後儲存該檔案,重啟Nexus便可。

擴充套件:

使用命令列方式安裝Nexus服務,在path環境變數中,加入Nexus安裝目錄下的bin目錄,以便在命令列下直接操作,具體的安裝過程是很簡單的,看下圖:

使用Nexus建立Maven私服

安裝完成後,nexus會加入到服務中,下次系統重啟的時候,nexus服務將會自動重啟。

③登入Nexus

Nexus擁有全面的許可權控制功能,預設的Nexus訪問都是匿名的,而匿名使用者僅包含一些基本的許可權,要全面學習和管理Nexus,就必須以管理員方式登入。可以單擊右上角的Log In進行登入,Nexus預設管理員使用者名稱和密碼為admin/admin123,如圖所示:

使用Nexus建立Maven私服

點選彈出:

點選Log In,登入成功,如圖:

使用Nexus建立Maven私服

轉載於:https://my.oschina.net/muyuxi/blog/813434