1 . 修改私服中倉庫的部署策略
Release版本的項目應該發布到Releases倉庫中,對應的,Snapshot版本應該發布到Snapshots倉庫中。Maven根據pom.xml文件中版本號<version>節點的屬性是否包含-SNAPSHOT,來判斷該項目是否是snapshot版本。如果是snapshot版本,在執行mvn deploy部署命令時,maven會自動將項目發布到Snapshots倉庫。要發布項目,首先需要將Releases倉庫和Snapshots倉庫的“Deployment Policy”設置為“Allow Redeploy”:
2 . 配置項目的部署倉庫
在pom.xml中分別對Release版本和Snapshot版本配置部署倉庫,其中id唯一,url分別對應私服中Releases和Snapshots倉庫的Repository Path:
<uniqueVersion>表示是否為Snapshot版本分配一個包含時間戳的構建號,效果如下:
<distributionManagement> <snapshotRepository> <id>user-snapshot</id> <name>User Porject Snapshot</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> <uniqueVersion>true</uniqueVersion> </snapshotRepository> <repository> <id>user-release</id> <name>User Porject Release</name> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> </distributionManagement>
3 . 啟用Deployment用戶
Nexus默認有三個用戶,其中Deployment用戶用於部署項目:
Deployment用戶默認密碼為deployment123,右鍵菜單可修改或重置密碼:
在settings.xml中分別為上面配置的部署倉庫配置server,其中id需要分別對應上面的部署倉庫id:
<servers> <server> <id>user-release</id> <username>deployment</username> <password>deployment123</password> </server> <server> <id>user-snapshot</id> <username>deployment</username> <password>deployment123</password> </server> … </servers>
4 . 發布項目
右鍵pom.xml - Run As - 2 Maven build...
發布成功后,在私服的倉庫中就能看到了:
5 . 在Nexus中手動上傳項目構件
在Nexus倉庫的Artifact Upload選項卡中,填寫相關信息,可以手動的方式上傳項目構件: