Snapshot和Release版本

Snapshot和Release版本

1.snapshot版本自动获取服务器最新代码原理

我们在提交snapshot版本时 mvn deploy,会提交一个带时间搓的版本号!
maven会根据模块的版本号(pom文件中的version)中是否带有“-SNAPSHOT”(注意这里必须是全部大写)来判断是快照版本还是正式版本。

如果是快照版本,那么在mvn deploy时会自动发布到私服的快照版本库中;
如果是正式发布版本,那么在mvn deploy时会自动发布到正式版本库中。

我们下载依赖到本地仓库时,也会带上这个带有时间搓的版本号

每次当我们 mvn compile, 会分析版本状态为snapshot的依赖,自动与远程仓库中的同版本的snapshot进行对比、更新。

在配置Maven的Repository的时候中有个配置项,可以配置对于SNAPSHOT版本向远程仓库中查找的频率。频率共有四种,分别是always、daily、interval、never。
always是每次都去远程仓库查看是否有更新;
daily是只在第一次的时候查看是否有更新,当天的其它时候则不会查看;
interval允许设置一个分钟为单位的间隔时间,在这个间隔时间内只会去远程仓库中查找一次;
never是不会去远程仓库中查找(这种就和正式版本的行为一样了);

所以经过我们没有修改任何东西,maven也会替我们拿到最新的代码!

2.snapshot 和 release 的使用场景和区别

场景:

  • snapshot 快照版本对应开发过程中的版本,特点是快速的迭代更新,同样的版本号对应的是项目在一段时间内的开发过程。

  • release 释放版本应该是一个稳定的版本,它应该对应项目在某个时刻的状态 —— 它对应唯一的代码版本。

区别:

  • release 并不会检查远程仓库。
  • snapshot 会检查远程仓库,同步更新到最新的snapshot版本

3.在dependency中使用

  • RELEASE : 使用最大的release版本版本号。
  • SNAPSHOT : snapshot版本与release,略微不同,它比较的是lastUpdated,哪个新就下载哪个,所以如果版本号是x.x.x-SNAPSHOT,肯定会更新下来。
  • LATEST : 最新版本,则是发布版和快照中
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值