Maven 版本管理实践

一、Maven 的作用

Maven 这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。Maven作为Apache组织中的一个颇为成功的开源项目,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型企业级应用;无论是传统的瀑布式开发,还是流行的敏捷开发,Maven都能大显身手。这次主要讲Maven在项目版本管理中的作用。

二、使用的场景

  1. 多个人并发开发项目1.0.0版本,项目有多个模块,A需要使用模块A的0.9.0版本,B需要模块A的1.0.0版本,C正在开发模块A的1.0.0版本,开发模块A的过程中,会更改很多0.0.9版本中的接口

  2. 全部开发正在攻关一个重大版本2.0.0,但是,在开发过程中,运维发现项目正在运行的1.9.0版本发现了一个严重bug,会造成用户的使用问题,需要及时修改并上线。

  3. 开发团队分为两个开发基线2.1.0,2.2.0,两个版本进行灰度发布,让用户进行评比。在上线过程中,针对不同的服务器,发布不同的版本,对用户进行筛选。

                                             图2.1:Maven版本管理实践流程

       Maven 使用插件,通过命令操作版本代码自动发布,代码版本的自动迭代。使图2.1的流程自动化,保证项目的顺利开发。而且将代码版本发布到服务上去后,可以将代码进行共享,使团队,公司的基本类库,特殊类库,公共服务类库,更加完善。方便垮团队,垮部门的协调合作。

三、Maven 原理

Maven 通过坐标系思想来进行定位。在空间坐标系中,需要x,y,z三个位置才能确定一个准确的点。Maven对java包的管理也一样,通过确定,group-id,artifact-id,version 三个的值来确定一个包的位置,并且清晰明了的标注的包的拥有者以及版本号。

而且Maven使用快照(Snapshot)版本来标注相同版本不同开发时间的包,上传Snapshot版本包时,Maven库会将Snapshot后缀自动更改为当前系统时间戳后缀。引用Snapshot版本时候,Maven会自动找寻当前库中,时间戳最新的Snapshot版本,保证使用Snapshot版本的人员拥有最新的开发版本。这样做的目的,就是能在不更新配置文件的情况下,自动的去依赖最新的包,保证测试开发使用的包能够满足需求。

综上两点所述,对java群体开发人员而言,Maven解决了许多协调配合的问题,不管是开发还是测试。

你可能感兴趣的:(Maven,Maven,版本管理,开发协作)