ubuntu下使用Nexus搭建Maven私服


ubuntu下使用Nexus搭建Maven私服

1、私服簡介:

私服是架設在局域網的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構件。有了私服之后,當 Maven 需要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠程倉庫,將構件下載到私服,再提供給本地倉庫下載。

 

 

 

我們可以使用專門的 Maven 倉庫管理軟件來搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus。這里我們使用 Sonatype Nexus。

2 . 安裝Nexus

      Nexus 專業版是需要付費的,這里我們下載開源版 Nexus OSS。

      Nexus下載地址:http://www.sonatype.org/nexus/go

 

 

將下載好的壓縮包放到目標服務器,進行解壓

 

 

解壓之后在目錄里面會得到nexus-2.14.3-02和sonatype-work這兩個文件夾,其中nexus-2.14.3-02是Nexus的系統文件,sonatype-work是Maven私服的工作目錄,我們上傳和下載的jar都在這里面;

接下來,我們要去改Nexus的運行端口,以免啟動時端口沖突,進入nexus-2.14.3-02里面的conf目錄,修改nexus.properties這個文件

 

 

因為Maven存放的是jar包,在上傳時需要編譯,所以需要配置jdk的路徑

進入bin目錄下的jsw中的conf,修改wrapper.conf這個文件

 

 

配置完jdk的路徑后,可以使用bin目錄下的nexus腳本(其實是使用同級目錄下的nexus.bat操作nexus)啟動nexus服務

 

 

執行時會有相應的提示;

Nexus運行時,日志會在logs目錄下打印,出現問題是別忘了去看看日志;

服務開啟之后,找個瀏覽器訪問http://192.168.100.52:8081/nexus IP輸入你自己的,

3、簡單的使用:

 

 

登陸Nexus,默認的用戶名是:admin、密碼是:admin123

 

 

介紹一下這些倉庫都是什么:

3rd parth:第三方庫,主要存放一些第三方的jar包;

Apached Snapshots:apache的開發版本的jar倉庫;

Central:中央倉庫,這里存放的是中央倉庫的jar包;

Central M1 shadow: 這是中央倉庫的一個虛擬倉庫;

Releases:這是我們上傳私服時的倉庫,存放的是穩定版本的jar包;

Snapshots:這是存放開發版本的jar包;

Public repositories:這是一個倉庫組,可以把上述的倉庫添加到這個倉庫組中;

接下來,就要下載索引了,沒有索引,私服就沒法去外網的Maven中央倉庫中下載jar包了,需要跟新的有Central、Apached Snapshots這兩個庫

 

 

在頁面上下載,我想你也看到這,下面有個update index的選項,一般來說,中央倉庫的索引每周會更新一次,我們可以每個月更新一次就行了,第一次下載的時間比較長,比較目前的索引達到了2個多G、可以在Scheduler tasks頁面上看更新任務的進度:

 

當然,也可以采取手動更新的方式更新索引

到中心倉庫下載最新版本的索引文件

http://repo.maven.apache.org/maven2/.index/

拉到最后下載nexus-maven-repository-index.gz

 nexus-maven-repository-index.properties這兩個文件

 

 其中nexus-maven-repository-index.properties如果沒法下載,就只能點擊進去復制了;

出了這兩個文件,還需要一個indexer-cli-5.1.1.jar來解壓

 

 

將這三個文件放到同一文件夾中,並執行

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer

這句命令開始解壓,可能時間有點長,估計要20多分鍾;

解壓完成后,將indexer(解壓時會自動創建這個文件夾)下的所以文件copy到sonatype-work/nexus/indexer/central-ctx目錄下,重啟Nexus

至此,Nexus配置Maven私服就完成了;

 

附:Nexus開機自啟

1、         在/etx/init.d中新增可執行腳本nexus,nexus內容如下:

 

其中紅色框中的內容必須要加,這個是系統識別開機自啟的依據

因為nexus不支持root啟動

 

所以,在啟動時切換到普通用戶來啟動

2、         配置啟動級別:

1、/etx/init.d中新增可執行腳本nexus后並不會添加到service服務器管理器中,需要執行命令:update-rc.d nexus dafaults 來添加到service服務器管理器中;

2、配置nexus的啟動級別:

 

注意:一開始使用update-rc.d nexus enable時,在rc2.d中生成的軟連接是S20nexus這與我們想要的S99nexus相差有點遠,因為我們是需要nexus最后啟動的,而根據啟動級別的規則,最小(0-99)的最先啟動,所以我們要把軟連接改為S99nexus;

所以手動創建軟連接:

 

 

這樣只要重啟機器就能夠實現nexus自動啟動了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM