System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种Maven二方库的管控方法及系统技术方案_技高网

一种Maven二方库的管控方法及系统技术方案

技术编号:41155529 阅读:3 留言:0更新日期:2024-04-30 18:20
本发明专利技术公开了一种Maven二方库的管控方法及系统,包括:基于需求的维度进行Maven BOM项目的创建,并基于所述Maven BOM项目维护所有二方依赖模块的版本信息,以通过定义和管理二方依赖模块的版本,实现按维度进行二方库版本的控制;基于所述Maven BOM项目创建子模块Starter,并将使用子模块Starter时必须的依赖添加到Starter的具体依赖中;其中,所述子模块Starter通过parent继承所述Maven BOM项目中管理的二方库版本;基于应用场景进行所述Maven BOM项目或子模块Starter的选择,以基于所述Maven BOM项目或子模块Starter引入需要的依赖。本发明专利技术能够为Java企业级项目的二方库依赖管理提供了完整可行的解决方案,其显著的技术优势和效果有助于减少项目成本、提高开发效率、增强系统质量。

【技术实现步骤摘要】

本专利技术涉及二方库配置,并且更具体地,涉及一种maven二方库的管控方法及系统。


技术介绍

1、随着企业级应用体系的日益庞大,java项目中的依赖管理也变得越来越复杂。一个典型的企业级应用都会依赖上百个开源类库和框架,除了这些三方库外,企业的大型系统都会采用模块化开发,这些模块会产生大量的内部依赖,即二方库。当企业提供标准产品和定制化开发时,这些二方库的管理和使用成为一个难题,这些二方库的版本关系错综复杂。如果每个项目组自己维护使用的二方库依赖版本,不仅大量重复劳动,也很容易出现jar包冲突。因此有效进行依赖管理成为java项目的一大难题。

2、传统通过maven方式直接管理依赖的方法在这个规模下已经显得捉襟见肘。每个项目组需要自行配置依赖版本,导致依赖容易不一致。同时依赖之间的版本冲突也时有发生。随着时间推移,依赖关系会变得越来越复杂。

3、为了解决这个问题,maven提供了依赖管理的概念,通常是由一个专门的项目来维护依赖版本。各个项目组将这个依赖管理项目作为parent,那么子项目就可以直接继承parent中控制的依赖版本。这在一定程度上缓解了依赖管理困境。

4、但是这种方案也存在一定问题。首先是对项目结构的侵入太深,子项目必须继承特定的parent。其次,依赖管理项目过于笨重,即使只改一个依赖也要重新发布。再者,不同产品线的依赖定制化需求也难以满足。

5、为了进一步优化这一现状,maven提供了新的依赖管理机制:bill of materials(bom)。bom本质上也是一个maven项目,它通过dependencymanagement元素来控制依赖版本。但不同于parent,使用bom的子项目不需要继承bom项目,也不会继承它的构建配置等其它元素。这使得bom可以作为一个独立的依赖版本控制中心,不侵入项目的组织结构。

6、bom带来的另一个优点是可重用性。多个项目可以共享一个bom来管理依赖版本,不同产品线也可以有各自的bom。这极大地提高了依赖管理的一致性与灵活性。通过合理使用bom,可以有效解决java企业项目中依赖管理的种种痛点。

7、总之,maven的bom机制为依赖管理提供了新的思路。但是仅仅提供版本控制还不够,仍需要简化使用方式。


技术实现思路

1、本专利技术提出一种maven二方库的管控方法及系统,以解决如何对二方库进行配置的问题。

2、为了解决上述问题,根据本专利技术的一个方面,提供了一种maven二方库的管控方法,所述方法包括:

3、基于需求的维度进行maven bom项目的创建,并基于所述maven bom项目维护所有二方依赖模块的版本信息,以通过定义和管理二方依赖模块的版本,实现按维度进行二方库版本的控制;

4、基于所述maven bom项目创建子模块starter,并将使用子模块starter时必须的依赖添加到starter的具体依赖中;其中,所述子模块starter通过parent继承所述mavenbom项目中管理的二方库版本;

5、基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖。

6、优选地,其中所述维度,包括:团队维度、产品维度和/或功能维度。

7、优选地,其中所述maven bom项目的打包类型为pom,所述maven bom项目中的dependencymanagement部分列举所有的二方依赖及其版本。

8、优选地,其中所述基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖,包括:

9、当应用场景为开发环境时,通过引入所述maven bom项目来管理二方库的依赖版本,根据开发的需要引入需要的接口依赖;

10、当应用场景为运行时环境时,通过引入所述子模块stater来使用二方库的依赖。

11、根据本专利技术的另一个方面,提供了一种maven二方库的管控系统,所述系统包括:

12、bom创建单元,用于基于需求的维度进行maven bom项目的创建,并基于所述mavenbom项目维护所有二方依赖模块的版本信息,以通过定义和管理二方依赖模块的版本,实现按维度进行二方库版本的控制;

13、starter创建单元,用于基于所述maven bom项目创建子模块starter,并将使用子模块starter时必须的依赖添加到starter的具体依赖中;其中,所述子模块starter通过parent继承所述maven bom项目中管理的二方库版本;

14、应用单元,用于基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖。

15、优选地,其中所述维度,包括:团队维度、产品维度和/或功能维度。

16、优选地,其中所述maven bom项目的打包类型为pom,所述maven bom项目中的dependencymanagement部分列举所有的二方依赖及其版本。

17、优选地,其中所述应用单元,基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖,包括:

18、当应用场景为开发环境时,通过引入所述maven bom项目来管理二方库的依赖版本,根据开发的需要引入需要的接口依赖;

19、当应用场景为运行时环境时,通过引入所述子模块stater来使用二方库的依赖。

20、基于本专利技术的另一方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种maven二方库的管控方法中任一项的步骤。

21、基于本专利技术的另一方面,本专利技术提供一种电子设备,包括:

22、上述的计算机可读存储介质;以及

23、一个或多个处理器,用于执行所述计算机可读存储介质中的程序。

24、本专利技术提供了一种maven二方库的管控方法及系统,包括:基于需求的维度进行maven bom项目的创建,并基于所述maven bom项目维护所有二方依赖模块的版本信息,以通过定义和管理二方依赖模块的版本,实现按维度进行二方库版本的控制;基于所述mavenbom项目创建子模块starter,并将使用子模块starter时必须的依赖添加到starter的具体依赖中;其中,所述子模块starter通过parent继承所述maven bom项目中管理的二方库版本;基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖。本专利技术使用bom从合适的维度管理二方库依赖本文档来自技高网...

【技术保护点】

1.一种Maven二方库的管控方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述维度,包括:团队维度、产品维度和/或功能维度。

3.根据权利要求1所述的方法,其特征在于,所述Maven BOM项目的打包类型为pom,所述Maven BOM项目中的dependencyManagement部分列举所有的二方依赖及其版本。

4.根据权利要求1所述的方法,其特征在于,所述基于应用场景进行所述Maven BOM项目或子模块Starter的选择,以基于所述Maven BOM项目或子模块Starter引入需要的依赖,包括:

5.一种Maven二方库的管控系统,其特征在于,所述系统包括:

6.根据权利要求5所述的系统,其特征在于,所述维度,包括:团队维度、产品维度和/或功能维度。

7.根据权利要求5所述的系统,其特征在于,所述Maven BOM项目的打包类型为pom,所述Maven BOM项目中的dependencyManagement部分列举所有的二方依赖及其版本。

8.根据权利要求5所述的系统,其特征在于,所述应用单元,基于应用场景进行所述Maven BOM项目或子模块Starter的选择,以基于所述Maven BOM项目或子模块Starter引入需要的依赖,包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种maven二方库的管控方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述维度,包括:团队维度、产品维度和/或功能维度。

3.根据权利要求1所述的方法,其特征在于,所述maven bom项目的打包类型为pom,所述maven bom项目中的dependencymanagement部分列举所有的二方依赖及其版本。

4.根据权利要求1所述的方法,其特征在于,所述基于应用场景进行所述maven bom项目或子模块starter的选择,以基于所述maven bom项目或子模块starter引入需要的依赖,包括:

5.一种maven二方库的管控系统,其特征在于,所述系统包括:

6.根据权利要求5...

【专利技术属性】
技术研发人员:刘增辉武慧荣李傲林李南熹尹相兵
申请(专利权)人:航信云享科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1