snapshot版本和release版本区别

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

一般来说snapshots版本代表正在开发中的版本,release代表比较稳定的发布版本.

比如我们新建一个maven项目,默认版本是这样的:

<groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name>
<description>Demo project</description>

上面0.0.1表示项目的版本号,表示这次迭代我要开发的所有主要功能都是属于这个版本的;
-SNAPSHOT表示该版本是快照版本,一般处于开发阶段,0.0.1版本还有功能没有完成,或还有bug还要修复,所以这个阶段一般代码更新比较频繁,开发人员写完代码会直接提交到代码仓库,这样之前依赖0.0.1-SNAPSHOT版本的开发人员也可以马上更新代码.
-Release表示是稳定版的,这次迭代的所有功能都已经完成,并且通过了测试之后,就可以发布为0.0.1-Release版本,Release版的一旦发布,就不要再改变代码了,所以如果之后在0.0.1-Release这个版本上发现了bug,需要修复,那么我们应该将0.0.1-Release版本改为0.0.2-SNAPSHOT,然后再修改bug并测试,没问题之后将0.0.2-SNAPSHOT改为0.0.2-Release发布.

使用maven的时候maven会根据pom文件中的version中是否带有-SNAPSHOT来判断是否是快照版本。如果是快照版本,在maven deploy时会发布到快照版本库中,依赖该版本的项目在编译打包时,maven会自动从maven仓库下载新的快照版本。如果是正式发布版本,deploy时会自动发布到正式版本库中,依赖该版本的项目在编译打包时如果本地已经存在该版本的工程默认不会从maven仓库下载新的版本.

所以如果现在开发的项目依赖了另外一个项目,如果不希望出现本来运行的好好地,过了一会儿因为依赖项目的更新突然不能运行了,那么可以选择依赖一个Release版本(如果有的话).

snapshots版本和release版本区别相关推荐

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

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

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

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

  3. Maven的Snapshot版本与Release版本

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

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

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

  5. Maven 的 Snapshot 版本与 Release 版本

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

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

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

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

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

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

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

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

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

最新文章

  1. mysql数据库中nchar_MySQL数据库中CHAR与VARCHAR之争
  2. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集
  3. mysql select 返回列,是否可以对在mysql SELECT语句中返回列的顺序进行排序?
  4. Intel Developer Forum 2010英特尔信息技术峰会第二天小记
  5. boost::math::quadrature::naive_monte_carlo用法的测试程序
  6. 一款可视化的在线制作H5
  7. 20172304 《程序设计与数据结构》第五周学习总结
  8. Mac 连接不上Mysql数据库的解决方案
  9. 如何查看Windows 桌面壁纸的位置
  10. 韩国的开发者开源项目 paper with code论文自动下载
  11. OAuth2实现单点登录SSO
  12. 配置数据源(DataSource)
  13. 用HTML加css制作立体方块,CSS3 三维变形实现立体方块特效源码
  14. linux 中.a和.so的区别
  15. 基于Web html的“我的家乡”网站前端设计
  16. 【C】编一程序。求两点之间的距离,已知直角坐标系中求两点(x1,y1),(x2,y2)之间的距离。
  17. 2018普渡大学计算机科学本科,2018-2021QS美国普渡大学世界排名变化(附热门学科排名)...
  18. “探讨下一代公链和 DApps 生态前景“ Conflux首次线下 meetup 在京举办
  19. 服务器机柜防雷接地系统,数据中心机房防雷接地方法与措施实例分享
  20. mapboxGL轨迹展示与播放

热门文章

  1. 【golang】map,切片,数组转json格式(详细过程)
  2. 惯性定位导航(INS)
  3. 计算机教学法的应用研究,“任务驱动教学法”在计算机基础教学中的应用研究...
  4. np.timedelta64()函数
  5. java程序员电脑推荐,经典好文
  6. GAN原理及相关发展总结
  7. android 辅助功能原理,Android辅助功能原理与基本使用详解-AccessibilityService
  8. can和could的用法_2019初中英语情态动词之can和could
  9. 问题解决-----ubuntu系统如何给编译出来的可执行文件添加桌面图标,使点击直接运行
  10. 借助第八代智能英特尔® 酷睿™ i7 处理器和 Unreal Swarm* 的强大性能快速构建光照...