1. 程式人生 > >Maven 私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

Maven 私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

環境:CentOS 6.6 Final、JDK7、Sonatype Nexus、Maven
IP:192.168.4.221

root 使用者操作

前提:已安裝 JDK7 並配置好了環境變數

1、下載最新版 Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下載地址:
http://www.sonatype.org/nexus/go/
#  wget  https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz

2、解壓

# mkdir nexus
# tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus
# cd nexus
# ls
nexus-2.11.2-03 sonatype-work
(一個 nexus 服務,一個私有庫目錄)

3、編輯 Nexus 的 nexus.properties 檔案,配置埠和 work 目錄資訊(保留預設)

# cd nexus-2.11.2-03
# ls
bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp
檢視目錄結構,jetty 執行
# cd conf
# vi nexus.properties
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF

4、編輯 nexus 指令碼, 配置 RUN_AS_USER 引數

# vi /root/nexus/nexus-2.11.2-03/bin/nexus 
#RUN_AS_USER=
改為:
RUN_AS_USER=root

5、防火牆中開啟 8081 埠

# vi /etc/sysconfig/iptables
新增:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
儲存後重啟防火牆
# service iptables restart

6、啟動 nexus

# /root/nexus/nexus-2.11.2-03/bin/nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.

7、瀏覽器中開啟:http://192.168.4.221:8081/nexus/


8、登入,預設使用者名稱 admin,預設密碼 admin123:


到此,Nexus 已安裝完成,接下來是 Nexus 的配置

Nexus 配置(登入後)
1、 選單 Administration/Server 配置郵箱服務地址(如果忘記密碼,可以通過該郵箱找回密

碼)


給使用者配置郵箱地址,方便忘記密碼時找回:



使用者修改密碼



2、倉庫型別


group  倉庫組:Nexus  通過倉庫組的概念統一管理多個倉庫,這樣我們在專案中直接請
求倉庫組即可請求到倉庫組管理的多個倉庫;
hosted  宿主倉庫: 主要用於釋出內部專案構件或第三方的專案構件 (如購買商業的構件)
以及無法從公共倉庫獲取的構件(如  oracle  的  JDBC  驅動)
proxy 代理倉庫:代理公共的遠端倉庫;
virtual 虛擬倉庫:用於適配 Maven 1;
一般用到的倉庫種類是 hosted、proxy

Hosted 倉庫常用型別說明:

releases  內部的模組中 release 模組的釋出倉庫
snapshots 釋出內部的 SNAPSHOT 模組的倉庫
3rd party 第三方依賴的倉庫,這個資料通常是由內部人員自行下載之後釋出上去

如果構建的 Maven 專案本地倉庫沒有對應的依賴包,那麼就會去 Nexus 私服去下載,如果 Nexus 私服也沒有此依賴包,就回去遠端中央倉庫下載依賴,這些中央倉庫就是 proxy。

Nexus 私服下載成功後再下載至本地 Maven 庫供專案引用。
3、設定 proxy 代理倉庫(Apache Snapshots/Central/Codehaus Snapshots)准許遠端下載,
如:
4、Maven 本地庫的安裝與配置
環境變數、setting.xml
5、Eclipse 中的 Maven 配置
6、專案的構建與釋出演示
修改 common-parent 中的 pom.xml 中的私有庫地址
7、上傳第三方包操作