maven项目多工程结构良好体验

原创 2018年01月13日 19:52:50

       在项目开发工程中,根据业务功能不同,会划分功能模块,需要建立多个工程。不同工程可能由不同的人来开发,可能会引用到相同组件的不同版本。随着项目推进,存在需要版本分支的需求。那我们要怎么把maven用好,方便管理呢?

        针对以上需求,我大致整理了一下,在实际项目开发过程中主要存在以下3个问题:

        1.源代码封版本,到了某个阶段,提交一个相对稳定的版本,根据版本规划,存在多版本同步开发或者运维。希望能够方便的修改整个产品的源码版本号,不用每一个组件工程都去修改。

        2.组件的版本号提升。多个项目之间存在依赖关系,被依赖组件会根据版本规划存在多个不同版本号。希望能够方便的修改整个产品的版本号,不用每一个组件工程都去修改。

        3.各个组件可能存在引用相同第三方组件不同版本号的情况。需要规范同一产品依赖组件版本号。

        针对以上3个问题,我们应该怎么建立组件的工程呢?

        按照maven规范建立工程及模块。通俗说就是父子工程。

        整个产品建立一个父工程,命名为XXX-parent,类型为pom工程。其他业务组件继承该工程,定义为模块工程。在父工程的pom中通过<version>标签去定义版本。因为父子工程结构,子工程就自动继承了版本号。通过修改父工程pom的版本号,发布后,就简单的实现了组件库中不同版本组件的入库。解决了问题2.

        因为是父子工程的结构,子工程代码是在父工程的下级目录,源代码提交版本库后。可以在父工程做版本分支,不管有多少个子工程,整个项目一下就实现了版本的分支(标记)功能。解决了问题1。

        在父工程pom中定义<dependencyManagement>标签,子工程如果引用了对应的组件,则不能指定版本号。版本号为父工程中指定的版本号。这样多个子工程引用了同一个组件,则版本无法自定义,由父工程中指定版本的组件决定。解决了问题3。

        后续将单独写文章举例。


Maven系列五:多模块项目中的聚合和继承

Maven系列四
  • zdq0394
  • zdq0394
  • 2013年08月10日 18:32
  • 2483

Maven工程聚合,多个Java工程、web工程聚合

最近写个自己的小项目,牵扯到maven工程聚合问题,网上看了大量资料研究了下,成功了,按照自己的理解简单粗暴的记录下。。。一、模块结构粗略画了个草图表示下现有模块之间的关系二、模块作用及配置文件 to...
  • qq_32588349
  • qq_32588349
  • 2016年07月17日 23:08
  • 14359

IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)

Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看。  IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到...
  • u012129558
  • u012129558
  • 2017年11月02日 12:05
  • 635

maven聚合工程的创建和聚合工程的打包(分布式架构搭建)

原博客地址:http://blog.csdn.NET/millery22/article/details/48677643 第一步:创建父工程millery-manage,如...
  • zhousenshan
  • zhousenshan
  • 2017年04月29日 09:26
  • 841

eclipse 创建聚合maven项目

这玩意其实很简单,关键就是你愿不愿意花点时间去学而已,让我们一起努力吧! 如果有什么说的不对的,欢迎指导哦!...
  • psy1100
  • psy1100
  • 2016年04月08日 15:01
  • 6910

maven聚合工程的创建和聚合工程的打包

第一步:创建父工程millery-manage,如图: 右击空白处,new创建新maven工程: 这里跳过默认的骨架,使用自动义的骨架   这里父工程必须使用pom打包方式   第...
  • millery22
  • millery22
  • 2015年09月23日 11:21
  • 18820

Maven建立父子关系项目工程,建立依赖关系结构,构建工作集

构建环境: Eclipse+maven 需求:使用Eclipse构建一个maven项目,要求具有父子关系,子项目之间有依赖关系 一 构建一个maven项目(parent:父级) 二 构建子项目 使用e...
  • qq_28121005
  • qq_28121005
  • 2016年09月22日 19:34
  • 3861

Maven工程的拆分与聚合

一、开发步骤 1,创建一个父工程 点击Next 点击Finish后,它里面有一个pom.xml文件,这个文件可以将多个子模块中通用的jar所对应的...
  • tianyejun6
  • tianyejun6
  • 2017年04月04日 23:38
  • 672

如何在eclipse中开发多个聚合关系的maven项目并用git管理

如何在eclipse中开发多个聚合关系的maven项目并用git管理
  • Kingson_Wu
  • Kingson_Wu
  • 2014年08月24日 17:57
  • 5981

如何搭建maven的聚合工厂并运行

研究了一天了,发现也不是很难
  • wumingxuan1
  • wumingxuan1
  • 2016年11月28日 00:54
  • 1098
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:maven项目多工程结构良好体验
举报原因:
原因补充:

(最多只允许输入30个字)