当前位置: 首页 > 后端技术 > Java

Spring版本命名规则

时间:2023-04-02 09:32:14 Java

1常见软件版本命名常见软件版本命名示例如下表所示。软件升级过程说明LinuxKernel0.0.11.0.02.6.323.0.18如果用X.Y.Z表示,偶数Y表示稳定版,奇数Y表示开发版。--OpenStack2014.1.32015.1.1.dev8--可以看到不同的软件版本有不同的命名风格。系统规模越大,依赖的软件就越多。如果这些软件不遵循标准的命名风格,很容易造成“DependencyHell”。所以我们在发布一个版本的时候,命名需要遵循一定的规则。SemanticVersioning2.0.0定义了一组简单的规则和条件来约束版本号的配置和增长。本书根据SemanticVersionning2.0.0和SemanticVersioning3.0.0有选择地整理了部分版本命名规则。2语义版本命名规则语义版本命名规则很好地规范了版本的迭代顺序。版本号的格式为X.Y.Z(也称为Major.Minor.Patch),增量规则如下表所示。序列号升级过程的格式要求X为代表主版本号(Major)的非负整数。当API的兼容性发生变化时,X必须递增。Y是一个非负整数,表示次版本号(Minor)。添加功能时(不影响API兼容性),Y必须递增Z非负整数表示修订号(Patch),修复bug时(不影响API兼容性),Z必须递增详细使用规则为如下:lX、Y、Z必须为非负整数,且不能包含前导零,必须递增数值,如1.9.0→1.10.0→1.11.0。l0.Y.Z表示软件处于初始开发阶段,API可能不稳定;1.0.0表示该版本具有稳定的API。l当API的兼容性发生变化时,X必须递增,Y和Z同时置0;当一个新功能(不影响API的兼容性)或API被标记为Deprecated时,Y必须递增,Z设置为0;当错误修复正在进行时,Z必须递增。l预发布号表示版本不稳定,可能存在兼容性问题。其格式为X.Y.Z.a-c,如1.0.0.a1、1.0.0.b99、1.0.0.c1000。lCI-CD中常用开发版本号,格式为X.Y.Z.dev[正整数],如1.0.1.dev4。l版本号的排序规则是依次比较主版本号、次版本号、修订号的值,如1.0.0<1.0.1<1.1.1<2.0.0;对于之前的版本号和开发版本号,比如1.0.0.a100<1.0.0,2.1.0.dev3<2.1.0;有字母时,按ASCII顺序比较,如1.0.0.a1<1.0.0.b1。注意:版本一经发布,其内容不得修改,如有修改必须发布新版本!3商业软件中的常用修饰符商业软件中常用的修饰符如下表所示。描述法解释意义。Snapshot快照版目前还不稳定,还在开发中。Alpha内部版本的严重缺陷已基本修正并通过复测,但需要进行完整的功能测试。Beta测试版与Alpha版相比有了很大的改进,消除了严重错误,但仍存在一些缺陷。RC最终测试版ReleaseCandidate(最终测试版)即将作为正式版发布。试用版只集成了正式版的部分功能,不能升级。SPSP1的意思是servicepack,就是升级包的意思,相信大家都在Windows中看到过Release稳定版,功能比较稳定,可以对外发布,但是有时间限制。Trial试用版为试用版,FullVersion只发布给部分用户。完整版为正式版。未注册没有功能或时间。RestrictedversionStandard标准版可以满足正常使用的功能Lite精简版只包含正式版的核心功能Enhance增强版正式版,功能优化版Ultimate终极版是标准版的升级,为了更好的体验。Professionalversion针对要求更高、更专业的用户群体发布的版本Free免费版免费免费版Upgrade升级版有增强功能或修复已知缺陷Retail零售版单独出售Cardware共享版publiclicense(iOSvisa)LTS维护version该版本需要长期维护4软件版本号使用限制为便于理解,版本限制的语法为[范围描述]<版本号描述>,范围描述可选,必须与版本描述匹配确定范围内,不能独立存在。l<:小于某个版本号。l<=:小于或等于某个版本号。l>:大于某个版本号。l>=:大于等于某个版本号。l=:等于某个版本号,直接写版本号没有意义。l~:根据版本号描述的最新补丁版本。l^:根据版本号描述的最新兼容版本。l-:两个版本描述之间应出现一定范围。其实语法应该是-,为了统一写在这里。~和^的表达方式严格来说需要结合具体的包管理工具和版本号规则来确定,但一般使用要记住以下原则:l^是保证版本兼容性时对次要版本号的默认约束.l~是保证版本兼容性时对补丁号的默认约束。5Spring版本命名规则Spring版本命名规则如下表所示。描述法解释意义。Snapshot快照版本目前还不稳定,正在开发中。Release稳定版功能比较稳定,可以对外发布,但是有时间限制。GA正式版代表广泛可用的稳定版本(GeneralAvailability)。M里程碑版本具有一些功能。一个新功能或一个里程碑版本(M表示Milestone)RC最终测试版本ReleaseCandidate(最终测试),即将作为正式版本发布技术在于分享,我分享我的快乐!如果本文对您有帮助,请关注并点赞;有什么建议也可以留言或私信。您的支持是我坚持创作的动力。关注微信公众号“汤姆炸弹架构”,获取更多技术干货!