Maven Release发布指南---Git版

545 阅读2分钟

1.RELEASE的说明

1.1snapshot与release的区别

大多数java开发的小伙伴都用过maven来对包进行管理。在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置。下面我们来对着3个配置进行简单说明。

  1. groupId:顾名思义,这个里面包含的是本项目属于哪一个group(即组织或公司)。一般我们会用公司或者自己的前几级包名来进行定义。
  2. artifactId:这个值定义的是本项目的名字。
  3. version:这个就是我们今天讲解的关键了。这个项目在maven进行发布以后的版本号。

一般,我们在刚开一个项目以后会将version定义为1.0-SNAPSHOT。snapshot单词从字面意思来说,是快照、照相的意思。为什么我们新的项目要使用SNAPSHOT呢?而不是我们引入的那些公共包的.RELEASE或者只有版本号什么都不带呢?这两个又有什么区别呢?听我慢慢道来:
一个项目在未上线发布之前会在测试环境或者开发环境中进行测试和调整,也有可能有需求变更和重构。所以,snapshot说明了,这个包还未固化其自身提供的服务。在使用带有snapshot的包的时候要特别小心。他很可能发生变化,不知道什么时候你之前使用的功能就会被这个包的维护人员干掉或者改变了。
而大家使用的类似Spring之类的公共开源包都是以RELEASE结尾的,这说明了当前这个版本号的包会稳定的提供功能服务,不会发生任何变化。如果需要变化只能通过修改版本号。

1.2release的必要性

当我们的项目达到了当前的目标,在经过检测后不需要改变。这时我们就需要将SNAPSHOT版本打包成RELEASE版本。只有这样,使用这个包的用户才能放心的将这个版本的包放入自己的项目中使用。并且,不会担心这个功能包提供的功能会随时发生改变。
接下来我们就学习如何将在git中管理的功能包从snapshot打包成为release版本