標籤:arc 發布 尋找 歸類 第三方 發行版 efault artifact 頁面
瞭解有限,目前只針對基礎功能介紹,持續更新
一、下載對應的版本(本例版本:nexus-3.7.1-02)
https://www.sonatype.com/download-oss-sonatype
二、啟動服務,進入對應安裝目錄,按住shift右鍵,開啟cmd命令列,執行nexus.exe /run
我的Nexus目錄:NEXUS_HOME\nexus-3.7.1-02-win64\nexus-3.7.1-02\bin
最後啟動成功提示如下,即可訪問http://192.168.1.168:8081/登入,帳號admin 密碼admin123
三、頁面介紹1.倉庫頁面
點擊導航Browse,這裡是所有已經配置的倉庫
Name:
maven-central:maven中央庫,預設從https://repo1.maven.org/maven2/拉取JAR包,這個遠端地址可改,也可建立另外一個
maven-releases:私庫發行版JAR
maven-snapshots:私庫調試版本JAR
maven-public:倉庫分組,把上面三個倉庫組合在一起對外提供服務
Type:
proxy:代理遠端倉庫
hosted:本地Jar包
group:倉庫組
2.搜尋功能
便於快速尋找jar包,導航中選擇Search,可選擇多種類型的尋找方式,比如按名稱、按版本、按倉庫組等,此功能是模糊尋找
3.建立修改倉庫&倉庫組
點擊上方齒輪表徵圖,即可開啟組態管理頁面,其中Repository欄為倉庫管理,下面只針對這裡的Blob Stores、Repositories說明
Blob Stores:jar包存放路徑,預設存放在NEXUS_HOME/sonatype-work\nexus3\blobs\default下,可建立多個
Repositories:
建立代理倉庫Proxy
①選擇Create repository建立倉庫
②選擇倉庫類型maven2(proxy)
③設定倉庫名稱
④設定倉庫版本,代理倉庫通常設定為releases
⑤配置下載存放路徑,預設是Blob Stores的default
⑥配置代理倉庫地址,我是用阿里的
以上完成後儲存建立即可完成代理倉庫的建立
建立本地倉庫(第三方、代理倉庫中沒有的jar都放這裡)hosted,重複上面的流程,不同處如下
②選擇倉庫類型maven2(hosted)
④設定倉庫版本,releases或snapshots,兩者區別如下:
有一個自己封裝的jar包,該jar包處於開發版,近期會不停的更新,版本為1.0,使用snapshots倉庫,今後jar封裝更新後,只需將新的包傳入到該倉庫,
項目中會自動下載更新到這個包,無需修改版本號碼;用releases這個倉庫,每次變更jar包必須升級版本號碼,對應項目pom檔案中要修改,否則新的jar包不會被下載
⑥此步改為,目的是可以上傳部署jar
建立倉庫組group,重複上面的流程,不同處如下
②選擇倉庫類型maven2(group)
④設定將哪些倉庫歸類到一個組裡
到現在為止,Nexus倉庫部分操作完成
四、使用倉庫1.配置Maven settings.xml
配置中URL自行修改
<mirrors> <mirror> <id>content</id> <mirrorOf>*</mirrorOf> <name>maven-public</name> <url>http://192.168.1.168:8081/repository/maven-public/</url> </mirror> </mirrors>
<servers> <server> <id>nexus</id> <!--這個id用於上傳jar包--> <username>admin</username> <password>admin123</password> </server> </servers>
2.在項目pom.xml中配置如下,目的:snapshots模式時,更新原則設定,非snapshots模式不用配置
<distributionManagement> <snapshotRepository> <id>nexus</id> <url>http://192.168.1.168:8081/repository/maven-public/</url> </snapshotRepository> <repository> <id>nexus</id> <url>http://192.168.1.168:8081/repository/maven-public/</url> </repository> </distributionManagement> <repositories> <repository> <id>maven-public</id> <url>http://192.168.1.168:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> <!--該元素指定更新發生的頻率。Maven會比較本地POM和遠程POM的時間戳記。這裡的選項是:always(一直),daily(預設,每日),interval:X(這裡X是以分鐘為單位的時間間隔),或者never(從不)。 --> </snapshots> </repository></repositories>
3.項目中pom引用jar
引用快照版,他會去私服中倉庫類型為SNAPSHOT裡去找jar,注意版本後面一定要加-SNAPSHOT,發布版直接寫<version>1.27</version>;
發布快照版jar後,需本地執行Maven test或者Maven install等操作才會更新jar
<dependency> <groupId>org2.kaola</groupId> <artifactId>fastdfs</artifactId> <version>1.27-SNAPSHOT</version></dependency>
五、Jar包發布
使用方式:直接cmd中輸入如下命令
1.發布releases版
mvn deploy:deploy-file -DgroupId=org.kaola -DartifactId=fastdfs -Dversion=1.25 -Dpackaging=jar -Dfile=D:\fastdfs.jar -Durl=http://192.168.1.168:8081/repository/maven-releases/ -DrepositoryId=nexus
2.發布snapshots版
mvn deploy:deploy-file -DgroupId=org2.kaola -DartifactId=fastdfs -Dversion=1.27-SNAPSHOT -Dpackaging=jar -Dfile=D:\fastdfs-SNAPSHOT.jar -Durl=http://192.168.1.168:8081/repository/maven-snapshots/ -DrepositoryId=nexus
需要自訂內容:
DgroupId:包分組,例如org.kaola,pom檔案中<groupId>org.kaola</groupId>配置
DartifactId:檔案名稱,pom檔案中<artifactId>fastdfs</artifactId>配置
Dversion:版本,pom檔案中<version>1.27-SNAPSHOT</version>配置
Dfile:上傳檔案本地路徑
Durl:倉庫路徑,上傳到哪個倉庫
DrepositoryId:上面步驟4-1中配置的id
Maven私服搭建及使用-Windows版