为了账号安全,请及时绑定邮箱和手机立即绑定

百万架构师的第二课:设计模式:Spring 源码版本命名规则及下载安装

标签:
Java

第二章–SpringWeb应用开发篇

二、Spring 源码版本命名规则及下载安装

2.1、Spring源码版本命名规则

(1) 首先看看某些常见软件的版本号:

  • Linux Kernel: 0.0.1 , 1.0.0 , 2.6.32 , 3.0.18 …,若用 X.Y.Z 表示,则偶数 Y表示稳定版本,奇数 Y 表示开发版本
  • Windows: Windows 98 , Windows 2000 , Windows XP , Windows 7 , Windows 10 …,最大的特点是杂乱无章,毫无规律。
  • SSH Client: 0.9.8
  • OpenStack: 2014.1.3 , 2015.1.1.dev8

从上可以看出,不同的软件版本号风格各异,随着系统的规模越大,依赖的软件越多,如果这些软件没有遵循一套规范的命名风格,容易造成 Dependency Hell。所以当我们发布版本时,版本号的命名需要遵循某种规则,其中 Semantic Versioning 2.0.0 定义了一套简单的规则及条件来约束版本号的配置和增长。本文根据 Semantic Versionning 2.0.0Semantic Versioning 3.0.0 选择性的整理出版本号命名规则指南。

(2)版本号命名规则指南

  • 版本号的格式为X.Y.Z(又称 Major.Minor.Patch),递增的规则为:
    • X 表示主版本号,当 API 的兼容性变化时,X 需递增。
    • Y 表示次版本号,当增加功能时(不影响 API 的兼容性),Y 需递增。
    • Z 表示修订号,当做 Bug 修复时(不影响 API 的兼容性),Z 需递增。
  • 详细的规则如下:
    • X, Y, Z 必须为非负整数,且不得包含前导零,必须按数值递增,如 1.9.0 -> 1.10.0-> 1.11.0
    • 0.Y.Z 的版本号表明软件处于初始开发阶段,意味着 API 可能不稳定;1.0.0 表明版本已有稳定的 API。
    • 当 API 的兼容性变化时,X 必须递增,Y 和 Z 同时设置为 0;当新增功能(不影响 API 的兼容性)或者 API 被标记为 Deprecated 时,Y 必须递增,同时 Z 设置为 0;当进行 bug fix 时,Z 必须递增。
    • 先行版本号(Pre-Release)意味该版本不稳定,可能存在兼容性问题,其格式为:X.Y.Z.[a-c][正整数],如 1.0.0.a11.0.0.b991.0.0.c1000
    • 开发版本号常用于 CI-CD,格式为 X.Y.Z.dev[正整数],如 1.0.1.dev4
    • 版本号的排序规则为依次比较主版本号、次版本号和修订号的数值,如 1.0.0 < 1.0.1 < 1.1.1 < 2.0.0;对于先行版本号和开发版本号,有:1.0.0.a100 < 1.0.02.1.0.dev3 < 2.1.0;当存在字母时,以 ASCII 的排序来比较,如 1.0.0.a1 < 1.0.0.b1

注意:版本一经发布,不得修改其内容,任何修改必须在新版本发布!以下是一些常用的修饰的词:

  • Snapshot 版本代表不稳定、尚处于开发中的版本
  • Alpha: 内部版本
  • DEV: 开发版本(Development)
  • Beta: 测试版
  • Demo: 演示版
  • Enhance: 增强版
  • Free: 自由版
  • Full Version: 完整版,即正式版
  • Final:最终版,正式版
  • LTS: 长期维护版本(Long Term Support),一般为18个月。
  • Pro(professional):专业版
  • Plus:加强版
  • Retail:零售版
  • Shareware 共享版,虽然不会要求注册但是一般也有功能限制
  • SR :修正版(Senior,中文解释为资深)
  • Trial :试用版(一般有时间或者功能限制)
  • Release : 发行版
  • RC : 即将作为正式版发布(Release Candidat)
  • Standard : 标准版
  • Ultimate: 旗舰版
  • Upgrade: 升级版

(3)Spring版本命名规则

  1. Release 版本则代表稳定的版本
  2. GA 版本则代表广泛可用的稳定版 ( General Availability )
  3. M 版本则代表里程碑版( M 是 Milestone 的意思)具有一些全新的功能或是具有里程碑意义的版本。

2.2、Spring5源码下载

微信公众号:不止极客

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消