.RELEASE 在 Spring Framework 版本中是什么意思

Tom*_*ter 9 versioning spring pom.xml maven semantic-versioning

.RELEASE文件的结尾是什么意思?

例如

<dependencies>
  <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>3.0.0.RELEASE</version>
     <scope>runtime</scope>
  </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

M. *_*tin 14

“.RELEASE”后缀在较早的 Spring 版本中使用,但在 2020 年被删除。它表明该版本是软件的发布版本,而不是预发布版本。

2020 年之前的命名方案

根据此(现已失效)文档,2020 年之前的命名方案是{major}.{minor}.{micro}.{release_type},其中release_type是以下之一:

当前命名方案

当前的命名方案,用于新的Spring版本是MAJOR.MINOR.PATCH[-MODIFIER],没有用于发布版本修改。

  • MODIFIER是一个可选的修饰符,它<COUNT>是一个从 1 开始的递增数字:
    • 对于里程碑,我们将使用M<COUNT>.
    • 对于候选版本,我们将使用RC<COUNT>.
    • 对于快照,我们将使用-SNAPSHOT. 请注意,.BUILD我们之前的方案中存在的内容已被删除。
    • 对于版本,将没有修饰符。

命名方案比较

发布类型 当前的 以前的
快照 5.2.0-快照 5.2.0. 构建快照
里程碑 5.2.0-M1 5.2.0.M1
发布候选 5.2.0-RC1 5.2.0.RC1
释放 5.2.0 5.2.0. 发布


Mar*_*son 5

此后缀是“发布类型”,具有以下任何可能值:

  • BUILD-SNAPSHOT:目前正在开发的版本。
  • M#:一个“里程碑”版本。
  • RC#:“GA 候选版本”。
  • 发布:GA(普遍可用)版本。

在这里阅读更多。

我的猜测是他们出于两个原因添加了这个后缀。1)使最终版本带有明确的“类型”并遵循与它们产生的其他“版本类型”相同的命名约定。2) 添加后缀后,最终版本将排在最后。