如何通过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

相关推荐

  • 项目合同管理表格(项目合同管理系统)

    项目合同管理系统 项目合同管理系统是一种用于管理项目合同的软件系统,可以帮助项目管理人员更好地控制合同的履行,确保项目的成功完成。本文将介绍项目合同管理系统的基本概念、功能和应用。…

    科研百科 2024年6月9日
    47
  • 项目管理软件 在线

    项目管理软件在线 随着数字化时代的到来,越来越多的公司和组织开始采用在线项目管理软件来辅助他们进行项目规划和执行。这些软件能够帮助 teams 更好地管理项目进度、资源、风险和交付…

    科研百科 2024年7月23日
    36
  • 2007中国科协年会在武汉开幕

      9月8日,2007中国科协年会在武汉开幕,全国人大副委员长、中国科协主席韩启德,中央政治局委员、湖北省委书记俞正声,全国人大副委员长、中国科学院院长路甬祥,九届全国人大副委员长…

    科研百科 2022年5月19日
    251
  • 出海项目管理系统

    出海项目管理系统: 让跨境项目更加高效 随着全球化的不断深入,跨境项目已经成为了现代企业的重要业务之一。然而,传统的跨境项目管理方式已经无法满足现代企业的需求,因此,出海项目管理系…

    科研百科 2024年12月14日
    0
  • 项目管理oa

    项目管理oa(Online Project Management)是一种新兴的项目管理方式,它利用现代信息技术,通过互联网平台实现项目资源的整合和管理,提高项目管理效率和质量。本文…

    科研百科 2024年7月27日
    73
  • 项目风险管理的一般流程(项目风险管理的一般流程包括)

    风险需要按照严格约定好的管理流程来进行管理。越是不确定的事情,越需要有良好的应对措施,避免风险来临时手忙脚乱毫无章法。 PMBOK中提供了一套经过实践检验的风险管理流程。分为如下几…

    科研百科 2022年10月23日
    263
  • 医院管理系统项目代码

    医院管理系统项目代码: 医院管理系统是一个用于管理医院内部事务的软件系统,可以帮助医院管理人员更好地组织和管理医院的日常运营,提高医院的效率和质量。在这个系统中,医生、护士、管理人…

    科研百科 2024年12月16日
    0
  • 电子会计档案系统:助力企业提升档案管理效率与价值(会计电子档案系统方案)

    数字化时代,企业规模不断扩大,业务财务分离的复杂性以及数字孤岛问题一直是企业管理所面临的重要挑战。然而,随着国家对数字电子票据推广的持续深入,电子会计档案管理迎来历史性的转变。 电…

    科研百科 2024年4月26日
    90
  • 《明码标价和禁止价格欺诈规定》7月1日起施行(明码标价和禁止价格欺诈规定实施了吗)

    国家市场监督管理总局网站截图 市场监管总局发布的《明码标价和禁止价格欺诈规定》7月1日起施行。《规定》明确了经营者不得实施的七种典型价格欺诈行为,包括谎称商品和服务价格为政府定价或…

    2022年7月14日
    246
  • 代驾软件 app 开发流程?(代驾软件 app 开发流程图)

    代驾软件 app 开发 代驾软件的开发可以分为前端和后端两部分: 1. 前端开发:主要负责代驾软件的用户界面设计和交互实现。包括用户注册登录、订单发布与接单、支付等功能的实现,需要…

    科研百科 2024年5月7日
    87