理解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

相关文章
相关标签/搜索