瞭解有限,目前只針對基礎功能介紹,持續更新maven
https://www.sonatype.com/download-oss-sonatypeurl
個人Nexus目錄:NEXUS_HOME\nexus-3.7.1-02-win64\nexus-3.7.1-02\binspa
最後啓動成功提示以下,便可訪問http://192.168.1.168:8081/登陸,賬號admin 密碼admin123命令行
點擊導航Browse,這裏是全部已經配置的倉庫3d
Name:代理
maven-central:maven中央庫,默認從https://repo1.maven.org/maven2/拉取JAR包,這個遠端地址可改,也可新建另一個調試
maven-releases:私庫發行版JARcode
maven-snapshots:私庫調試版本JARserver
maven-public:倉庫分組,把上面三個倉庫組合在一塊兒對外提供服務xml
Type:
proxy:代理遠端倉庫
hosted:本地Jar包
group:倉庫組
便於快速查找jar包,導航中選擇Search,可選擇多種類型的查找方式,好比按名稱、按版本、按倉庫組等,此功能是模糊查找
點擊上方齒輪圖標,便可打開配置管理頁面,其中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倉庫部分操做完成
配置中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>
使用方式:直接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