通俗理解maven的加SNAPSHOT和不加SNAPSHOT

疑惑

我们在开发中经常会看到maven的pom文件里有如下两种版本形式:
xxx-SNAPSHOT和xxx
这其实分别描述的是快照版和正式版。

为什么要这么区分

因为maven的远程仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本。

开发案例<version>xxx</version>

此时,假设你现在正在开发一个订单模块,打完包发布到公司管理的远程仓库:java-order-1.0.0.jar,你隔壁组的开发小明需要依赖你这个包,那么他们就会按照maven的配置规则配置好artifactId、groupId和version。这样就通过maven直接从远程仓库里把java-order-1.0.0.jar下载到了本地。
某一天,你order模块新增了需求,于是你改了很多的代码,然后照样打包发布到了远程仓库,包名还是java-order-1.0.0.jar。此时,小明一直刷新maven仓库,可就是获取不到你最新的修改。

原因:你虽然更改了代码并发布到了远程仓库,但是小明那边本地仓库会去跟远程比对,发现包名是同一个,这时不会再去下载最新代码,而是使用原来的本地的。

假设你现在想让小明下载到你最新的代码,你可以将jar版本升级,比如:java-order-1.0.1.jar,这时小明本地仓库发现远程的jar有更新就会下载更新以后的版本。虽然这样可以解决问题,但是如果你修改很频繁,那么每次修改你都要升级一个版本,这样显得很麻烦。

<version>xxx-SNAPSHOT</version>好处

此时,如果你使用xxx-SNAPSHOT,那么你一有更新发布,小明那里都是可以直接下载到最新jar包的,这样你就不用频繁的对jar包进行升级了。
如果你确定这个版本已经稳定了,那么你再将SNAPSHOT去掉,然后发布稳定版java-order-1.0.0.jar。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值