maven snapshot和release版本號之間的差


 在使用maven過程。我們經常會在不穩定的狀態有很多公共圖書館在發展階段。需要改變在任何時間和公布,你可能有一天一次發布。經驗bug時間,甚至一天公布N次要。我們知道,。maven依賴管理是基於管理的版本號,對於發布狀態artifact,假設相同的版本號,即使是我們內部的鏡子server上的組件比本地新,maven也不會主動下載的。

假設我們在開發階段都是基於正式公布版本號來做依賴管理,那么遇到這個問題。就須要升級組件的版本號號,可這樣就明顯不符合要求和實際情況了。可是,假設是基於快照版本號,那么問題就自熱而然的攻克了,而maven已經為我們准備好了這一切。

      maven中的倉庫分為兩種,snapshot快照倉庫和release公布倉庫。

snapshot快照倉庫用於保存開發過程中的不穩定版本號,release正式倉庫則是用來保存穩定的發行版本號。定義一個組件/模塊為快照版本號,僅僅須要在pom文件里在該模塊的版本號號后加上-SNAPSHOT就可以(注意這里必須是大寫),例如以下:

    
    
   
   
           
  1. <groupId>cc.mzone </groupId>
  2. <artifactId>m1 </artifactId>
  3. <version>0.1-SNAPSHOT </version>
  4. <packaging>jar </packaging>

      maven2會依據模塊的版本號號(pom文件里的version)中是否帶有-SNAPSHOT來推斷是快照版本號還是正式版本號。假設是快照版本號,那么在mvn deploy時會自己主動公布到快照版本號庫中,而使用快照版本號的模塊,在不更改版本號號的情況下。直接編譯打包時,maven會自己主動從鏡像server上下載最新的快照版本號。

假設是正式公布版本號,那么在mvn deploy時會自己主動公布到正式版本號庫中。而使用正式版本號的模塊。在不更改版本號號的情況下,編譯打包時假設本地已經存在該版本號的模塊則不會主動去鏡像server下載。

      所以,我們在開發階段,公共圖書館的版本號可以設置為快照版本。是依賴組件被引用的快照版本開發。快照版本更新的公共圖書館后。我們並不需要改變pom文件版本號提示下載新的版本號,直接mvn編譯相關的操作、包裝命令可以重新下載最新的快照庫,從而促進我們的發展。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM