1. Snapshot版本代表不稳定、尚处于开发中的版本

2. Release版本则代表稳定的版本

3. 什么情况下该用SNAPSHOT? 
协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下:

a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升甚至每个小时一升,这就是对版本号的滥用。

b.如果B不用SNAPSHOT, 但一直使用一个单一的Release版本号,那当B更新后,A可能并不会接受到更新。因为A所使用的repository一般不会频繁更新release版本的缓存(即本地repository),所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,就不会去远程Repository下载最新的B

4. 不用Release版本,在所有地方都用SNAPSHOT版本行不行? 
不行。正式环境中不得使用snapshot版本的库。 比如说,今天你依赖某个snapshot版本的第三方库成功构建了自己的应用,明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的snapshot库。你再次构建时,Maven会去远程repository下载snapshot的最新版本,你构建时用的库就是新的jar文件了,这时正确性就很难保证了。

Maven的Snapshot版本与Release版本

1. Snapshot版本代表不稳定、尚处于开发中的版本

2. Release版本则代表稳定的版本

3. 什么情况下该用SNAPSHOT? 
协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下:

a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升甚至每个小时一升,这就是对版本号的滥用。

b.如果B不用SNAPSHOT, 但一直使用一个单一的Release版本号,那当B更新后,A可能并不会接受到更新。因为A所使用的repository一般不会频繁更新release版本的缓存(即本地repository),所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,就不会去远程Repository下载最新的B

4. 不用Release版本,在所有地方都用SNAPSHOT版本行不行? 
不行。正式环境中不得使用snapshot版本的库。 比如说,今天你依赖某个snapshot版本的第三方库成功构建了自己的应用,明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的snapshot库。你再次构建时,Maven会去远程repository下载snapshot的最新版本,你构建时用的库就是新的jar文件了,这时正确性就很难保证了。

转载于:https://www.cnblogs.com/xiohao/p/5084958.html

Maven的Snapshot版本与Release版本相关推荐

  1. Maven 的 Snapshot 版本与 Release 版本

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

  2. snapshots版本和release版本区别

    snapshot版本和release版本区别 在java开发过程中,我们经常会看到代码仓库中的某些项目版本以release或snapshots结尾,现在说说这两个版本之间有什么区别. 一般来说snap ...

  3. snapshots版本和release版本间的区别

    snapshots版本和release版本间的区别 在java开发过程中,我们经常会看到代码仓库中的某些项目版本以release或snapshots结尾,一般来说snapshots版本代表正在开发中的 ...

  4. 蠢哭了,debug版本可用release版本出错

    记录一下本人遇到的问题,可能不适用于各位. win10 vs2015  MFC编写的一个动态库dll工程,debug版本release版本编译都通过.但是运行时debug版本可用 release版本出 ...

  5. Cmake生成debug版本和release版本

    在Visual Studio中我们可以生成debug版本和release版本的程序,使用Cmake我们也可以达到同样的效果.debug版本的项目生成的可执行文件需要有调试信息并且不需要进行优化,而re ...

  6. VC++调试程序、快捷键以及Debug版本与Release版本

    1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态.C/C++标签中的Category选General, ...

  7. c++中的Debug版本和Release版本的区别

    今天看Visual C++ 2012 入门经典,书上描述: Debug版本包括帮助用户调试程序的信息,使用程序的Debug版本,可以在出现问题时单步执行代码,以检查程序中的数据值. Release版本 ...

  8. debug版本和release版本的区别

    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用. ...

  9. VS.Net中程序集的Debug版本和Release版本的区别

    作者:未知   请作者速与本人联系 前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版.标准版之分,却从不知道.Net程序集还有Debug和R ...

最新文章

  1. JSP数据交互(一)
  2. nSamplesPerSec和nAvgBytesPerSec
  3. Android之okdownload下载提示奔溃Expected URL scheme ‘http‘ or ‘https‘ but was ‘data‘
  4. 使用Vert.x进行响应式开发
  5. 2018-2019-2 网络对抗技术 20165301 Exp2 后门原理与实践
  6. 使用 MaxCompute(原ODPS) java sdk 运行安全相关命令
  7. 生产者/消费者模式(一)
  8. tomcat7简单优化
  9. PLSQL 连接不上64位ORACLE数据库解决办法
  10. 设计模式 (十八 ) 观察者模式
  11. Keil与ADS软件冲突问题解决办法
  12. 51单片机计算机加原理图,MCS-51单片机最小系统的组成部分及电路图介绍
  13. 易语言清空c盘指令,C盘清理命令
  14. 【数据结构】哈夫曼树、哈夫曼编码
  15. 英文系统下手工安装五笔86版
  16. Rimworld Mod制作教程7 comp组件
  17. 数据库 - 概念结构设计
  18. select函数用法详解
  19. jquery mobile_使用jQuery Mobile改善Web应用程序的安全性
  20. xz2显示无法连接服务器,微端网页版无法登入问题解决方法

热门文章

  1. java sleep方法_6种快速统计代码执行时间的方法,真香!(史上最全)
  2. 测试音频质量的软件,音频质量PESQ得分评估原理与步骤
  3. python神经网络库识别验证码_基于TensorFlow 使用卷积神经网络识别字符型图片验证码...
  4. python opencv录制视频_Python-OpenCV 处理视频(一)(二): 输入输出 视频处理
  5. python在win10怎么搭建_Win10下Python环境搭建与配置教程
  6. 利用Python进行数据分析--数据聚合与分组运算
  7. 走近算法:受众行为分析与人群定向
  8. shell 创建文件_vba代替鼠标打开文件夹
  9. 系统学习深度学习(二十四)--WRN
  10. 第一台通用计算机它的名字叫做什么,第一台计算机叫什么名字