# 版本管理

# 版本号规范

  • <主版本号>.<次版本号>.<增量版本>-<里程碑版本>
  • 比如: 1.3.2-beta-2,其中beta-2表示该增量的某个里程碑

# 版本号约定

  • 主版本:
    • 项目重大架构的变更
  • 次版本:
    • 较大的功能增加和变化
    • 全面系统的修复漏洞
  • 增量版本:
    • 有重大漏洞的修复;
  • 里程碑版本:
    • 这个版本通下一个正式版本相比,不是很稳定,有待更多的测试;

# 里程碑约定

  • Alpha

    • 一般只供内部测试使用;
    • 会有很多BUG;
  • Beta

    • 消除了严重错误,还可能存在缺陷和漏洞,一般提供给特定用户群来测试使用;
    • 该版本会不断加入新的功能。
  • RC:

    • Release Candidate,候选发行版本
    • 不再加入新的功能,着重于修复缺陷
  • GA:

    • General Availability,发行稳定版,官方推荐使用该版本
    • 正式发布的版本,国外通常是GA来标识release版本;
  • RELEASE

    • 发行版本
    • 对于版本号相同的依赖,maven本地仓库有了,将不会再拉取
  • SNAPSHOT

    • 快照版本
    • maven总是会选择一个“最新”的快照使用
    • 快照由于可覆盖,可能导致依赖群源码不稳定,进而导致系统的不稳定

# 版本发布约定

  • maven远程仓库分为两种,snapshot快照仓库release发布仓库

  • maven会根据模块的版本号,是否带有**-SNAPSHOT**判断是快照版本还是正式版本

  • 如果是快照版本,使用mvn deploy时,会自动发布到快照版本库