【Maven】——坐标和版本管理

血红的双手。 提交于 2020-10-05 11:33:41

坐标

在maven项目中使用涉及到相关工具只需要在pom中加入需要的坐标即可,但是什么坐标呢?我理解的坐标就是jar包在中央仓库中的身份证,通过坐标可以确定唯一的jar包,避免使用错误,坐标中主要包括一下内容:

groupId:定义当前Maven项目隶属的实际项目。首先因为Maven中有模块的概念,其次一般一个组织下会包括多个项目,如果maven项目定义到组织级别,会比较难区分。一般groupId使用域名+实际项目。

artifactId:定义实际项目中的一个Maven模块,推荐做法把实际项目名称作为前缀+模块名称,这样方便寻找实际构件。

version:定义该maven项目当前所处的版本,其中在研发过程使用快照(SNAPSHOT)版,线上一般使用稳定版保证线上的稳定。

packaging:该元素定义了Maven的项目打包方式。一般情况下打包与生成构建的文件的扩展名对应,当不定义packaging时候,默认生成jar。(非必填)

版本管理详解

首先清楚两个概念:版本管理和版本控制。

版本管理指项目整体版本的演变过程管理,从1.0->1.0.1->2.01。

版本控制指借助版本控制工具(git,svn)追踪代码的每一个变更。

何为版本管理?

在项目开发过程,大家使用快照版本,maven利用这种方式智能处理特殊的版本,解析项目的最新快照,使用快照版本促进团队内部的交流,用于开发成员中使用。当系统对外外部的时候需要提供一个稳定的版本,使用该版本永远只能定位到唯一的构件,不随时发生变化,当稳定版发布后,快照转入一个新的版本中。

理想稳定版本有如下特点

所有自动化测试应当全部通过

项目中没有配置任何快照版本的依赖

项目中没有配置任何快照版本的插件

项目中包含的所有代码全部上传到版本控制系统中 

版本号定义约定

<主版本>.<次版本>.<增量版本>-<里程碑>

主版本:表示项目有重大的架构变更。

次版本:有较大范围的功能的增加和变化,以及Bug修复

增量版本:有重大Bug的修复

里程碑:版本中的里程碑

一般来说主版本和次版本都会有,其他的视情况而定。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!