1.<distributionManagement>的作用: 負責管理構件的發布。這是一個環境變量
<downloadUrl> URL </downloadUrl> 其它的Maven項目可以通過該URL下載並引用當前Maven項目的構件.
<status> 當前Maven項目的狀態.可用的狀態有以下幾種.並且這個值不是人為設置的.而是Maven自動設置的
none : 未指明狀態,默認值
converted : 該Maven項目的構件已經被轉換為兼容Maven 2
partner : 該Maven項目的構件保持與另一個庫的Maven版本一致
deployed : 該Maven項目的構件是通過Maven 2或Maven 3發布的,最常用的值
verified : 該Maven項目的構件已經被驗證過
2.<distributionManagement>中的<repository>
<uniqueVersion>指定是否產生一個唯一性的version number還是使用address里的其中version部分.(true or false)
<id> 庫的id
<name> 庫的名稱
<url> 庫的url
<layout> default或者legacy
3.<distributionManagement> 中的 <repository> && <snapshotsrepository>各自的含義:
maven倉庫分為兩種 release發布倉庫(<repository>) 和 snapshot快照倉庫(<snapshotsrepository>)
snapshot快照倉庫用於保存開發過程中的不穩定版本,release正式倉庫用來保存穩定的發行版本。
定義一個組件/模塊為快照版本 只需要在pom文件中的該模板的版本號后面加上 -SNAPSHOT就可以了. 注意:必須是大寫
maven會根據模塊的版本號(pom文件中的<version>版本號</version>)中是否帶有-SNAPSHOT來判斷這個是快照版本還是正式版本.
如果是快照版本:
在mvn deploy時會自動發布到快照版本庫中.
而使用快照版本的模塊,在不更改版本號的情況下,直接編譯打包時,maven會自動從鏡像服務器上下載最新的快照版本.
如果是正式發布版本:
那么在mvn deploy時會自動發布到正式版本庫中,
而使用正式版本的模塊,在不更改版本號的情況下,編譯打包時,如果本地已經存在該版本的模塊則使用本地的而不是主動去鏡像服務器上下載