网站首页 > 技术教程 正文
maven 的代码仓库分为 2 种类。
这 2 种分别为 snapshot 和 release。
作用和区别
可以将 release 理解为稳定的发布版本,当版本 release 后,如果你发现你的代码有问题,希望马上进行修改的话,一般来说是不可以的。
代码仓库通常不允许你将 release 版本多次发布,如果你需要进行再次发布的话,你需要修改版本号。
snapshot 针对 release 来理解的话,最简单的说法就是可以多次发布,如果你愿意,你可以将任何字符修改一下,然后发布上去。使用 snapshot 发布的时候的代码库,多次发布是不会被拒绝的。
约定
版本号中的 release 和 snapshot 区别就是,snapshot 是在版本号后面添加 -SNAPSHOT 字符。
这几个字符必须是大写,同时这几个字符不能变,添加在版本号的后面,中间使用分隔符进行分隔。
例如我们有一个项目,项目中的的依赖定义为:
<groupId>com.ossez</groupId>
<artifactId>parent-modules</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
如果是 SNAPSHOT 版本的话,那么version 部分就需要修改为 <version>0.0.1-SNAPSHOT</version> 而且只能是这种格式。
Maven 使用
我们知道 Maven 在本地是进行缓存的,如果你使用的是 release 版本的话,一旦包被下载到本地了,Maven 是不会重新下载的。
如果你希望重新下载的话,你需要手动删除本地中的缓存。
如果你使用的是 SNAPSHOT 版本的话,每次在构建的时候都会从定义的新仓库中下载新的版本。
这样就更加方便项目小组之间的协调。
比如说,项目小组 A 有个包的版本为 0.0.1-SNAPSHOT ,项目小组 B 中有个包是依赖于这个的,但是项目小组 B 发现这个包中有问题,需要进行修改。
小组 B 将会通知小组 A 进行修改,小组 A 修改完成后将会 Push 到仓库中,尽管版本号没有变,那么项目小组 B 在编译的时候,也会使用新推送的 0.0.1-SNAPSHOT 版本。
那么小组 B 依赖小组 A 修复的错误就已经修改完成了。
如果采用 release 的话,那就必须修改版本号了。
在持续集成的时候,过于频繁的修改版本号并不是一个非常好的实践,这将会导致过多,过于频繁的版本号变化。
上面的图片显示了我们推送到中央仓库中的 SNAPSHOT 版本,这个版本将会随时因为被修改而更新。
猜你喜欢
- 2024-11-11 Oct 2019 Psychology Industry Snapshot (I)
- 2024-11-11 一次snapshot迁移引发的Hbase RIT(hbase2.1.0-cdh6.3.0)
- 2024-11-11 mac截图工具推荐:Screen Snapshot mac版
- 2024-11-11 maven发布jar包到nexus(maven将jar包打包到本地仓库中)
- 2024-11-11 maven依赖冲突以及解决方法(maven依赖冲突原则)
- 2024-11-11 心理行业速递》| 2019.10上 Psychology Industry Snapshot(下)
- 2024-11-11 为什么SpringBoot的 jar 可以直接运行?
- 2024-11-11 Physical Standby 和Snapshot Standby相互转换
- 2024-11-11 VR射击游戏《Snapshot VR》EA版本即将上线Steam
- 2024-11-11 Maven无法拉取SNAPSHOT依赖的解决办法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)