前言想要使用maven搭建項目,可是國內的網絡環境能夠想象,還有公司本身開發的jar包等問題,因此須要搭建一個maven的私服,這樣便於管理。 找了一些教程,順便記下來,當作筆記。 本文以Windows系統爲例。
1. 下載官網: https://www.sonatype.com/ 下載地址: https://www.sonatype.com/nexus-repository-oss 官方文檔: https://help.sonatype.com/repomanager3 下載的時候選擇Nexus Repository OSS,帶Pro的你們都知道,是收費版。 根據本身的系統選擇對應版本,支持OS X,Windows,Unix三大系統。 本文選擇的是最新版本 nexus-3.12.0-01-win64.zip,地址https://www.sonatype.com/oss-thank-you-win64.zip
最新的3.x版本除了支持maven,還支持Bower,Docker,Git,npm,NuGet等等。
2. 安裝安裝很簡單,直接解壓到指定目錄就能夠,綠色版的,可是Windows用戶需注意目錄路徑不能含有中文,空格等字符。
3. 配置Nexus須要配置的地方很少,可是這個自帶jetty,默認端口8081,可能會有端口衝突,找到配置文件修改便可。 進入到nexus安裝目錄。
# 打開.\nexus-3.12.0-01-win64\nexus-3.12.0-01\etc\nexus-default.properties# Jetty 訪問端口,默認是8081application-port=8083# 本機地址application-host=0.0.0.01234564. 啓動啓動有兩種方法,一是直接啓動,二是安裝成服務。 進入安裝目錄
C:\Windows\system32>D:
D:\>cd D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin1234直接啓動D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /run1第一次啓動比較慢,等到打印出來下面的內容就啓動成功了。
-------------------------------------------------
Started Sonatype Nexus OSS 3.12.0-01
-------------------------------------------------12345這個啓動成功以後,直接按enter就能夠中止服務。
安裝成服務D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /install nexusInstalled service 'nexus'.123能夠直接在服務裏面啓動,也可使用下面的命令啓動
D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /start nexusStarting service 'nexus'.125. 使用打開 http://localhost:8083/ 點擊右上角Sign in,輸入帳號密碼,默認是 admin, admin123。
點擊齒輪狀按鈕,可進入配置頁面,進入Repository-Repositories:
Repository的type屬性有:proxy,hosted,group三種。
proxy:即你能夠設置代理,設置了代理以後,在你的nexus中找不到的依賴就會去配置的代理的地址中找; hosted:你能夠上傳你本身的項目到這裏面; group:它能夠包含前面兩個,是一個聚合體。通常用來給客戶一個訪問nexus的統一地址。
簡單的說,就是你能夠上傳私有的項目到hosted,以及配置proxy以獲取第三方的依賴(好比能夠配置中央倉庫的地址)。前面兩個都弄好了以後,在經過group聚合給客戶提供統一的訪問地址。
至於format,由於本文講的的 Maven Repository ,因此請選擇maven2;
你還能夠添加一個國內的私有maven庫做爲代理,避免中央庫沒法鏈接,譬如阿里雲: http://maven.aliyun.com/nexus/content/groups/public/
系統默認就有以上幾個Repository。點擊maven-public 確保已經將 maven-central,maven-releases以及maven-snapshots都包含在裏面,若是你本身有自定義庫,請確保也在裏面。
maven-releases : 默認配置只能上傳 release版本的項目 maven-snapshots: 默認配置只能上傳 snapshots版本的項目 nuget開頭的庫: .net使用的庫,java不用管
若有特殊要求,能夠本身建立一個Version policy 爲Mixed的Repository。
以上配置就能知足通常需求了。
修改用戶密碼和添加用戶 沒能找到用戶密碼的配置,可是在網頁是能夠修改的,找到 Security > Users , 點擊 Create local user 添加新用戶,選擇用戶,點擊 More 能夠選擇修改密碼,須要先輸入原密碼,驗證經過熟人新密碼。
6. 使用 mvn deploy 向 Nexus服務器 上傳項目首先: maven setting.xml配置<?xml version="1.0" encoding="UTF-8"?><settings> <localRepository>D:\Soft\apache\maven-repository</localRepository> <mirrors> <mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8083/repository/maven-public/</url> </mirror> </mirrors> <servers> <server> <id>nexus</id> <username>admin</username> <password>zxm10@</password> </server> </servers></settings>12345678910111213141516171819localRepository:本地庫的地址
mirror:nexus地址
servers:nexus服務器登陸名和密碼,server能夠配置多個,賦予不一樣權限,例如Release和Snapshot不一樣
1. 使用cmd上傳mvn deploy:deploy-file -DgroupId=com.cxx -DartifactId=fu -Dversion=1.0.0 -Dpackaging=jar -Dfile=%待上傳jar地址% -Durl=http://localhost:8081/repository/maven-releases/ -DrepositoryId=nexus -s %MAVEN_HOME%\conf\settings.xml1參數說明:
-D: 傳入指定參數 分別對應pom中的 groupId,artifactId,version,packaging file: 本地jar的路徑 url: Repository Url (請選擇對應release,snapshots或mixed的url) repositoryId: 對應setting.xml中server id -s: setting.xml的路徑(若是使用默認conf中的setting,則無需配置)
2. 使用IDE上傳項目中的pom文件添加
<distributionManagement> <repository> <id>nexus</id> <name>Nexus Release Repository</name> <url>http://localhost:8083/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus</id> <name>Nexus Snapshot Repository</name> <url>http://localhost:8083/repository/maven-snapshots/</url> </snapshotRepository></distributionManagement>123456789101112id: 對應setting.xml中server id name: nexus Repository name url: nexus Repository url
須要說明的是,咱們在Maven項目的pom.xml文件中 ,若是版本號中含有SNAPSHOT,則會自動發佈到Snapshots倉庫中,例如:
<groupId>cn.xiweiai</groupId><artifactId>azkaban-app-deployer</artifactId><version>0.0.1-SNAPSHOT</version>123若是將version的值改成不帶SNAPSHOT後綴,則會發布到releases倉庫中,根據實際須要進行選擇。
而後使用IDE自帶的Maven deploy就能夠了。
3. 使用網頁上傳選擇 方塊 > Upload > maven-releases 選擇文件,輸入對應信息,點擊上傳便可,上傳成功便可查看。
7. 默認存儲位置3.x的默認存儲變了,原覺得下載到本地私服裏面的jar包是以.jar格式存儲的,就和本地倉儲同樣,可是用everything搜了半天,沒有搜到,查了以後才發現,是以.bytes格式存儲的。 存儲位置在: 安裝目錄\sonatype-work\nexus3\blobs
.bytes格式是jar包,.properties格式是jar包信息。 裏面存儲有下載時間,從哪一個中心庫下載,下載用戶,用戶地址,jar包名稱,大小等信息。
在頁面查看此包:
8. Linux配置下載Nexus Repository Manager軟件包:
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.0-01-unix.tar.gztar xvzf nexus-3.12.0-01-unix.tar.gz12解壓縮後能夠看到,生成nexus-3.12.0-01和sonatype-work兩個目錄:
[root@ali-bj01-tst-cluster-004 nexus]# lsnexus-3.7.0-04 sonatype-work12是這兩個目錄在同一個目錄下,例如我這裏是在nexus目錄下面。 能夠在etc/nexus-default.properties配置文件中,修改對應的配置項,知足實際須要,這裏我直接使用默認的,其它可使用的配置能夠參考官網說明。 若是使用自定義的JDK,能夠增長以下配置:
export JAVA_HOME=/usr/local/java/jdk1.8.0_144/1啓動Nexus Repository Manager,執行以下命令:
bin/nexus start————————————————版權聲明:本文爲CSDN博主「飛飛1934」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/chenfei2341/article/details/80431700java