理解maven中SNAPSHOT版本的做用

https://leokongwq.github.io/2017/08/24/understanding-maven-snapshot.html html

 

一次針對現有的http服務開發了一個SNAPSHOT版本的調用SDK jar包。QA同窗部署到測試環境後,我又更新了一下jar包的內容,此時QA同窗再次部署時並無拉去到最新的jar包,這個就比較奇怪了。記憶中maven不是每次都從私服去檢查
SNAPSHOT類型的jar包是否有更新嗎?怎麼對我就不起做用了呢?原來也是一直這麼使用的的,換個公司就不行了?最後經過閱讀官方文檔才發現本身的理解不到位。git

爲何使用SNAPSHOT類型的依賴?

答案固然是不想每次有點代碼改動都升級一下版本。github

maven如何處理SNAPSHOT類型的依賴?

第一次構建的時候會把該庫從遠程倉庫中下載到本地倉庫緩存中,而後根據pom文件的配置不按期檢查該快照版本是否有變動。若是有變動則會從新拉去最新的jar。apache

檢查頻率配置

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

更新策略有一下幾種:緩存

  • always 每次構建都檢查遠程倉庫中該依賴jar包是否有更新
  • daily 天天檢查一次 (默認策略)
  • interval:XXX 指定檢查時間間隔,單位是分鐘。
  • never 從不檢查。該策略就和正式版本的處理規則同樣了。

參考

http://maven.apache.org/ref/3.5.0/maven-settings/settings.htmlmaven

相關文章
相關標籤/搜索