如何通过maven属性配置来统一管理多级项目的版本号(maven 子项目统一版本管理)

项目需求

可以通过配置来动态管理项目的版本号,包括snapshot版本。

问题描述

工程结构:A(父工程)–》B(子工程)–》C(孙工程)–》D重孙工程

B工程的parent指向A,C工程的parent指向B,D工程的parent指向C。

A应该保持相对版本稳定,所有的项目的parent指向A,这个办法看似可以,这个办法不能解决BC之间和CD之间的parent,编译的时候会报错,根本原因是parent中的version不能用表达式,必须是常量值。

解决办法

工程结构不变,在A下添加新工程E,让BCD的parent指向E,这样解决版本号问题。在E中将版本号作为一个属性来管理,A作为构建的入口工程,E用于配置工程的入口,AE版本号可以固定不变,BCD作为业务工程动态调整版本号码。工程A用于聚合,工程E用来继承;将聚合和继承分开管理,带来业务系统版本号的灵活处理。

工程结构:A(父工程)–》B(子工程)–》C(孙工程)–》D重孙工程

为了解决这个问题,我们引入了用于资源共享的父工程E,主要共享版本号和依赖包,所有工程的父工程都依赖这个工程,这样就解决了CD和DE项目依赖的版本问题。

E工程的pom里设置属性my.version,所有子工程BCD引用这个版本号。还有个好处是,使用mvn直接指定版本号,项目版本问题能得到灵活的解决。

mvn clean install -Dmy.version=5.0.0-SNAPSHOT

总结

这样我们就定义了两个工程A和E,A用于构建任务,我们通过聚合实现,E用于管理共享资源,我们通过继承来实现,A和E的版本号正式发版的时候来调整,测试和开发时保持不变,BCD业务工程的版本号,可以灵活设置,包括snapshot版本。这样就可以根据需要动态设置版本号,这种工程搭建方法,尤其适合是1个产品n个项目型的公司使用。

参考链接:

pom文档地址:https://maven.apache.org/pom.html
Maven 完全参考:http://books.sonatype.com/mvnref-book/reference/index.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(1)
上一篇 2022年10月7日 上午8:16
下一篇 2022年10月7日 上午8:18

相关推荐

  • 软件测试、开发、UI、前端哪个好?该怎么选?(软件测试,开发,ui,前端哪个好-该怎么选择)

    在日常互动过程中,发现小白对UI、前端、后端、软件测试和java开发…傻傻分不清楚,也不晓得自己该往哪个方向去发展。 这里我说下我个人的观点: 【1】UI UI其实就是…

    科研百科 2023年5月13日
    227
  • 项目管理周期四个阶段

    项目管理周期的四个阶段是:规划阶段、执行阶段、监控阶段和解决阶段。每个阶段都扮演着至关重要的角色,对项目的成功都有着非常重要的意义。 规划阶段是项目管理周期的第一步,也是最重要的一…

    科研百科 2024年7月25日
    48
  • 科研项目融资需求怎么写

    科研项目融资需求怎么写 随着科技的不断发展,科研项目的融资需求变得越来越重要。科研项目的融资可以帮助科学家们获得所需的资金来开展研究,并且可以吸引更多的投资者来支持项目的实现。在撰…

    科研百科 2025年5月26日
    0
  • 工程管理进度软件

    工程管理进度软件 随着现代科技的不断发展,工程管理已经成为一项不可或缺的工作。为了更高效地管理工程进度,我们使用了工程管理进度软件。 工程管理进度软件是一种自动化工具,可以帮助管理…

    科研百科 2024年8月28日
    34
  • 我科学家首次完成一种中国小麦重要蚜虫基因组测序装配解析

      8月21日,中国农业科学院植物保护研究所粮食作物害虫监测与控制创新团队首次报道了狄草谷网蚜Sitobion miscanthi 的基因组组装和解析工作。该团队借助先进测序平台完…

    科研百科 2022年5月13日
    337
  • 市北区党建引领基层治理推进中心到台东街道督导验收“六个好”网格建设情况

    1月10日下午,党建引领基层治理推进中心网格建设部部长刘峰、技术部负责人一行到台东街道,就“六个好”星级网格验收工作进行实地调研座谈,台东街道党建办及相关工作人员参加。 实地调研过…

    科研百科 2023年2月9日
    324
  • 乌海工程项目管理系统

    乌海工程项目管理系统:提升项目管理效率 乌海工程项目管理系统是一套集项目管理、财务管理、采购管理、人力资源管理等功能于一体的综合性管理系统。它的推出,旨在提升乌海工程项目的项目管理…

    科研百科 2024年12月30日
    0
  • 尽责互助 乐享安全

    江门供电局安全文化展厅。陈小骞 摄 江门恩平供电局举办安全生产月活动暨安全承诺签名活动,提升员工安全生产意识。谢静宜 摄 江门供电局各党支部灵活运用群众路线行动法集思广益,解决业务…

    科研百科 2023年9月26日
    250
  • 科研项目标题怎么解析

    科研项目标题的解析 科研项目标题的解析是科研项目评估过程中非常重要的一环。一个正确的标题应该准确地传达项目的内容和目标,并吸引读者的注意力。以下是一些关于如何撰写一个有效的标题的建…

    科研百科 2025年5月17日
    14
  • 项目管理的工具有哪几个

    项目管理是一种非常重要的工作,它可以帮助组织实现其目标和计划。现在,有许多不同的工具可用于项目管理,这些工具可以帮助项目经理更好地组织和管理项目,确保项目能够按时完成并达到高质量。…

    科研百科 2024年8月18日
    47