關於maven中的快照版本(snapshot)與正式版本(release)解析。


  Maven中建立的依賴管理方式基本已成為Java語言依賴管理的事實標准,Maven的替代者Gradle也基本沿用了Maven的依賴管理
機制。在Maven依賴管理中,唯一標識一個依賴項是由該依賴項的三個屬性構成的,分別是groupId、artifactId以及version。這
三個屬性可以唯一確定一個組件(Jar包或者War包)
  snapshot快照倉庫用於保存開發過程中的不穩定版本,release正式倉庫則是用來保存穩定的發行版本 maven2會根據模塊
的版本號(pom文件中的version)中是否帶有-SNAPSHOT來判斷是快照版本還是正式版本。如果是快照版本,那么在mvn deploy時會自動
發布到快照版本庫中,而使用快照版本的模塊,在不更改版本號的情況下,直接編譯打包時,maven會自動從鏡像服務器上下載最新的
快照版本。如果是正式發布版本,那么在mvn deploy時會自動發布到正式版本庫中,而使用正式版本的模塊,在不更改版本號的情況下
,編譯打包時如果本地已經存在該版本的模塊則不會主動去鏡像服務器上下載。 所以,我們在開發階段,可以將公用庫的版本設置為快照
版本,而被依賴組件則引用快照版本進行開發,在公用庫的快照版本更新后,我們也不需要修改pom文件提示版本號來下載新的版本,直接
mvn執行相關編譯、打包命令即可重新下載最新的快照庫了,從而也方便了我們進行開發

  Maven的Repository中有個配置項,可以配置對於SNAPSHOT版本向遠程倉庫中查找的頻率。頻率共有四種:always、daily、interval、never。當本地倉庫中存在需要的依賴項目時,頻率:always是每次都去遠程倉庫查看是否有更新,daily是只在第一次的時候查看是否有更新,當天的其它時候則不會查看;interval允許設置一個分鍾為單位的間隔時間,在這個間隔時間內只會去遠程倉庫中查找一次,never是不會去遠程倉庫中查找

  Maven版本的配置方式為:

 
        
1 2 3 4 5 6 7 8 
<repository>  <id>myRepository</id>  <url>...</url>  <snapshots>  <enabled>true</enabled>  <updatePolicy>XXX</updatePolicy>  </snapshots> </repository> 
 


免責聲明!

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



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