什么是Maven快照(SNAPSHOT)
本文来说下Maven的SNAPSHOT版本有什么作用
文章目录
- 问题
- 解决
- 正式版本"abc-1.0"
- 快照版本"abc-1.0-SNAPSHOT"
- 本文小结
问题
在使用maven进行依赖管理时,有的版本号后面会带有"-SNAPSHOT",有什么作用呢?
<dependency><groupId>com.smallbeef</groupId><artifactId>dubbo-interface</artifactId><version>1.0-SNAPSHOT</version>
</dependency><!--引入dubbo的依赖-->
<dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version>
</dependency><!-- 引入zookeeper的依赖 -->
<dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.10</version>
</dependency>
解决
带有"-SNAPSHOT"表示使用的依赖为快照版本,不带"-SNAPSHOT"为正式版本。
正式版本"abc-1.0"
构建的时候会先在本地仓库中查找是否已经有了这个依赖库,若是没有的话才会去远程仓库中去拉取。
假设项目中现在依赖"abc-1.0",在第一次构建的时候会把该库从远程仓库中下载到本地仓库缓存,之后再次构建都不会去访问远程仓库了。如果远程仓库中代码进行了修改,但版本号依旧叫"abc-1.0",那么此依赖没法获得最新更新。只有版本号更新后(如"abc-1.1")才能拉取到最新代码。
快照版本"abc-1.0-SNAPSHOT"
每次构建时,会优先去远程仓库中查看是否有最新的"abc-1.0-SNAPSHOT.jar",若是有则下载下来使用。即便本地仓库中已经有了"abc-1.0-SNAPSHOT.jar",它也会尝试去远程仓库中查看同名的jar是不是最新的。在配置Maven的Repository的时候中有个配置项,能够配置对于SNAPSHOT版本向远程仓库中查找的频率。频率共有四种,分别是always、daily、interval、never。
频率 | 详情 |
---|---|
always | 每次都去远程仓库查看是否有更新 |
daily | 每天只在第一次的时候查看是否有更新,当天的其它时候则不会查看 |
interval | 容许设置一个分钟为单位的间隔时间,在这个间隔时间内只会去远程仓库中查找一次 |
never | 不会去远程仓库中查找(和正式版本相同) |
本文小结
本文介绍了Maven快照(SNAPSHOT)相关的知识与内容。
什么是Maven快照(SNAPSHOT)相关推荐
- Maven的Snapshot版本与Release版本
1. Snapshot版本代表不稳定.尚处于开发中的版本 2. Release版本则代表稳定的版本 3. 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,由于B会更新,B应该使用SN ...
- Linux 快照 (snapshot) 原理与实践(二) 快照功能实践
文章目录 0. 概要 1. 准备演示数据 2. 创建 snapshot-origin 目标 3. 创建 snapshot 目标 4. 验证 COW 操作 4.1 第一次写数据 4.2 第二次写数据 5 ...
- Linux 快照 (snapshot) 原理与实践(一) 快照基本原理
文章目录 0. 背景 1. 如何理解快照(snapshot)? 2. 快照 (snapshot) 的原理 2.1 全量快照 1. 克隆 (Clone) 2. 镜像分离 (Split Mirror) 2 ...
- Maven 的 Snapshot 版本与 Release 版本
Maven 的 Snapshot 版本与 Release 版本 1.Snapshot 版本代表不稳定.尚处于开发中的版本. 2.Release 版本则代表稳定的版本. 3.什么情况下该用 SNAPSH ...
- Maven快照机制(SNAPSHOT)
以下引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_snapshots.html: 一.场景 一个大型的软件 ...
- maven中snapshot快照库与maven-metadata.xml
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...
- maven中snapshot版本和正式版本的区别
参考链接:https://www.cnblogs.com/huang0925/p/5169624.html 理解Maven中的SNAPSHOT版本和正式版本 Maven中建立的依赖管理方式基本已成为J ...
- maven快照版本和发布版本
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...
- Stream Processing:Apache Flink快照(snapshot)原理
本文将要讲解的是Apache Flink分布式流处理的轻量异步的快照原理.网上已经有几篇相关的博文,而本文的不同之处在于,它不是论文的纯粹翻译(论文地址),而是用自己的语言结合自己的理解对其原理的阐述 ...
最新文章
- C++ STL,ATL,WTL之间的联系和区别
- 设计模式:享元模式(Flyweight Pattern)
- 【Awsome】GitHub 资源汇总(更新中)
- Redis-学习笔记05【Jedis连接池】
- 高斯混合模型(Gaussian Mixture Model)
- 前端性能优化之 gzip+cache-control
- 西门子real是什么数据类型_如何实现西门子新一代精智屏及基本屏与 S120 的直接通讯...
- timesten mysql_TimesTen进程种类详解
- c语言音乐播放器的代码大全,C语言音乐播放器实例代码
- Maven POM介绍
- python--22 类和对象
- 【改变键盘上方向键蹩脚的位置】通过autohotkey脚本实现键盘按键重映射【便利码代码】--以上下左右键映射为capslock与hjkl组合的按键 【附源码】
- 照相机模型与增强现实
- 程序员的可迁移技能和经验
- unity替换模型材质
- win10蓝屏提示重新启动_关于网传0x000000F4蓝屏的临时分析解答
- mysql 叶子节点_MySQL 树形结构 根据指定节点获取其所有叶子节点
- Mac下编译太阳神三国杀源码
- Jina AI创始人肖涵博士解读多模态AI的范式变革
- 家庭最好用的投影仪,投影仪怎么选择?