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文件了,这时正确性就很难保证了。
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版本相关推荐
- Maven 的 Snapshot 版本与 Release 版本
Maven 的 Snapshot 版本与 Release 版本 1.Snapshot 版本代表不稳定.尚处于开发中的版本. 2.Release 版本则代表稳定的版本. 3.什么情况下该用 SNAPSH ...
- snapshots版本和release版本区别
snapshot版本和release版本区别 在java开发过程中,我们经常会看到代码仓库中的某些项目版本以release或snapshots结尾,现在说说这两个版本之间有什么区别. 一般来说snap ...
- snapshots版本和release版本间的区别
snapshots版本和release版本间的区别 在java开发过程中,我们经常会看到代码仓库中的某些项目版本以release或snapshots结尾,一般来说snapshots版本代表正在开发中的 ...
- 蠢哭了,debug版本可用release版本出错
记录一下本人遇到的问题,可能不适用于各位. win10 vs2015 MFC编写的一个动态库dll工程,debug版本release版本编译都通过.但是运行时debug版本可用 release版本出 ...
- Cmake生成debug版本和release版本
在Visual Studio中我们可以生成debug版本和release版本的程序,使用Cmake我们也可以达到同样的效果.debug版本的项目生成的可执行文件需要有调试信息并且不需要进行优化,而re ...
- VC++调试程序、快捷键以及Debug版本与Release版本
1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态.C/C++标签中的Category选General, ...
- c++中的Debug版本和Release版本的区别
今天看Visual C++ 2012 入门经典,书上描述: Debug版本包括帮助用户调试程序的信息,使用程序的Debug版本,可以在出现问题时单步执行代码,以检查程序中的数据值. Release版本 ...
- debug版本和release版本的区别
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用. ...
- VS.Net中程序集的Debug版本和Release版本的区别
作者:未知 请作者速与本人联系 前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版.标准版之分,却从不知道.Net程序集还有Debug和R ...
最新文章
- JSP数据交互(一)
- nSamplesPerSec和nAvgBytesPerSec
- Android之okdownload下载提示奔溃Expected URL scheme ‘http‘ or ‘https‘ but was ‘data‘
- 使用Vert.x进行响应式开发
- 2018-2019-2 网络对抗技术 20165301 Exp2 后门原理与实践
- 使用 MaxCompute(原ODPS) java sdk 运行安全相关命令
- 生产者/消费者模式(一)
- tomcat7简单优化
- PLSQL 连接不上64位ORACLE数据库解决办法
- 设计模式 (十八 ) 观察者模式
- Keil与ADS软件冲突问题解决办法
- 51单片机计算机加原理图,MCS-51单片机最小系统的组成部分及电路图介绍
- 易语言清空c盘指令,C盘清理命令
- 【数据结构】哈夫曼树、哈夫曼编码
- 英文系统下手工安装五笔86版
- Rimworld Mod制作教程7 comp组件
- 数据库 - 概念结构设计
- select函数用法详解
- jquery mobile_使用jQuery Mobile改善Web应用程序的安全性
- xz2显示无法连接服务器,微端网页版无法登入问题解决方法
热门文章
- java sleep方法_6种快速统计代码执行时间的方法,真香!(史上最全)
- 测试音频质量的软件,音频质量PESQ得分评估原理与步骤
- python神经网络库识别验证码_基于TensorFlow 使用卷积神经网络识别字符型图片验证码...
- python opencv录制视频_Python-OpenCV 处理视频(一)(二): 输入输出 视频处理
- python在win10怎么搭建_Win10下Python环境搭建与配置教程
- 利用Python进行数据分析--数据聚合与分组运算
- 走近算法:受众行为分析与人群定向
- shell 创建文件_vba代替鼠标打开文件夹
- 系统学习深度学习(二十四)--WRN
- 第一台通用计算机它的名字叫做什么,第一台计算机叫什么名字