版本的分类 :
从大体上来区分通常项目分为快照版( SNAPSHOT )和发布版(release)。快照版指的是正在开发的版本,当项目需要发布的时候,我们就需要将快照版转换为发布版,注意:发布版是建立在快照版之上的,相对来说是一个比较完善的版本。
而版本管理关心的问题是快照版和发布版之间的转换。项目经过一段时间的 1.0-SNAPSHOT 的开发之后,在某个时刻发布了 1.0 正式版,而后项目有进入了 1.1-SNAPSHOT 的开发。
一般来说快照版转换为发布版应该满足一下条件:
1、 所有自动化测试应当全部通过。
2、 项目没有任何快照版的依赖。
3、 项目没有引入任何快照版的插件。
4、 项目所包含的代码已经全部提交到版本控制系统中。
版本号定义
通常下载软件的时候会看到如下 :
1.3.2-bata-2
< 主版本 >.< 次版本 >.< 增量版本 >-< 里程碑版本 >
1 、表示该版本是一个重要版本;
3 、表示这是基于重大版本的第三个次要版本;
2 、表示该次要版本的第四个增量;
bata-2、 最后的 bata-2 表示该增量的某一个里程碑。
主版本:表示项目的重大架构变更。例如: Maven2 和 Maven1 相去甚远; Struts1 和 Struts2 采用了不同的架构。
次版本:表示较大范围的功能增加和变化,及 Bug 修复。例如 Nexus 1.5 较 1.4 添加了 LDAP 的支持,并且修复了很多 Bug, 但是从总体架构来说,没有什么变化。
增量版本:顾名思义,这往往指某一个版本的里程碑。例如, Maven3 已经发布了很多里程碑版本,如: 3.0-alpha-1 、 3.0-alpha-2 、 3.0-bata-1 等。这里的版本与正式版本 3.0 相比,往往表示不是非常稳定,还需要很多测试。