本文来说下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)相关推荐

  1. Maven的Snapshot版本与Release版本

    1. Snapshot版本代表不稳定.尚处于开发中的版本 2. Release版本则代表稳定的版本 3. 什么情况下该用SNAPSHOT?  协同开发时,如果A依赖构件B,由于B会更新,B应该使用SN ...

  2. Linux 快照 (snapshot) 原理与实践(二) 快照功能实践

    文章目录 0. 概要 1. 准备演示数据 2. 创建 snapshot-origin 目标 3. 创建 snapshot 目标 4. 验证 COW 操作 4.1 第一次写数据 4.2 第二次写数据 5 ...

  3. Linux 快照 (snapshot) 原理与实践(一) 快照基本原理

    文章目录 0. 背景 1. 如何理解快照(snapshot)? 2. 快照 (snapshot) 的原理 2.1 全量快照 1. 克隆 (Clone) 2. 镜像分离 (Split Mirror) 2 ...

  4. Maven 的 Snapshot 版本与 Release 版本

    Maven 的 Snapshot 版本与 Release 版本 1.Snapshot 版本代表不稳定.尚处于开发中的版本. 2.Release 版本则代表稳定的版本. 3.什么情况下该用 SNAPSH ...

  5. Maven快照机制(SNAPSHOT)

    以下引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_snapshots.html: 一.场景 一个大型的软件 ...

  6. maven中snapshot快照库与maven-metadata.xml

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  7. maven中snapshot版本和正式版本的区别

    参考链接:https://www.cnblogs.com/huang0925/p/5169624.html 理解Maven中的SNAPSHOT版本和正式版本 Maven中建立的依赖管理方式基本已成为J ...

  8. maven快照版本和发布版本

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  9. Stream Processing:Apache Flink快照(snapshot)原理

    本文将要讲解的是Apache Flink分布式流处理的轻量异步的快照原理.网上已经有几篇相关的博文,而本文的不同之处在于,它不是论文的纯粹翻译(论文地址),而是用自己的语言结合自己的理解对其原理的阐述 ...

最新文章

  1. C++ STL,ATL,WTL之间的联系和区别
  2. 设计模式:享元模式(Flyweight Pattern)
  3. 【Awsome】GitHub 资源汇总(更新中)
  4. Redis-学习笔记05【Jedis连接池】
  5. 高斯混合模型(Gaussian Mixture Model)
  6. 前端性能优化之 gzip+cache-control
  7. 西门子real是什么数据类型_如何实现西门子新一代精智屏及基本屏与 S120 的直接通讯...
  8. timesten mysql_TimesTen进程种类详解
  9. c语言音乐播放器的代码大全,C语言音乐播放器实例代码
  10. Maven POM介绍
  11. python--22 类和对象
  12. 【改变键盘上方向键蹩脚的位置】通过autohotkey脚本实现键盘按键重映射【便利码代码】--以上下左右键映射为capslock与hjkl组合的按键 【附源码】
  13. 照相机模型与增强现实
  14. 程序员的可迁移技能和经验
  15. unity替换模型材质
  16. win10蓝屏提示重新启动_关于网传0x000000F4蓝屏的临时分析解答
  17. mysql 叶子节点_MySQL 树形结构 根据指定节点获取其所有叶子节点
  18. Mac下编译太阳神三国杀源码
  19. Jina AI创始人肖涵博士解读多模态AI的范式变革
  20. 家庭最好用的投影仪,投影仪怎么选择?

热门文章

  1. 点赞功能设计,网上的,留个底
  2. MYSQL在Windows 7下迁移安装路径教程
  3. 打造数据中心的软实力
  4. java json格式化工具类
  5. AAA验证和ciscorescue v4.2 验证服务器的搭建(telnet方式和级别的设置)
  6. Unity 之 Shader 面的剔除 Cull
  7. [技术收藏]关于IOPS
  8. 新浪安装weiphp2.0的方法
  9. trafficserver records.config参数说明
  10. 河神,不用砍死那个天秤座的男孩了