maven工程代码整合方法及装置制造方法及图纸

技术编号:37089554 阅读:9 留言:0更新日期:2023-03-29 20:04
本申请提供了一种maven工程代码整合方法及装置,可用于人工智能技术领域,所述方法包括:获取多个工程代码,确定每个工程代码的maven依赖森林;根据所述maven依赖森林确定是否存在jar程序冲突;若不存在,整合多个工程代码的maven依赖森林得到maven整合依赖森林;若存在,根据存在冲突的jar程序构建jar程序池,根据所述jar程序池对多个工程代码进行整合测试,若测试通过,根据测试结果整合多个工程代码的maven依赖森林得到maven整合依赖森林。本申请可实现maven工程代码的自动整合和测试,提高整合效率,降低人力成本。降低人力成本。降低人力成本。

【技术实现步骤摘要】
maven工程代码整合方法及装置


[0001]本申请涉及代码整合
,特别涉及人工智能领域,尤其涉及一种maven工程代码整合方法及装置。

技术介绍

[0002]IT企业对于同质化的maven项目工程时常会有整合需求便于统一管理,但由于各自工程引入的maven依赖或多或少存在差异(如版本号差异等),导致在简单的物理整合后通常存在jar程序的冲突,需要人为调整依赖以便引入的jar程序能够兼容原来工程,但这个调整过程中由于原依赖及jar程序的版本众多等因素导致整合过程费时费力。

技术实现思路

[0003]本申请的一个目的在于提供一种maven工程代码整合方法,实现maven工程代码的自动整合和测试,提高整合效率,降低人力成本。本申请的另一个目的在于提供一种maven工程代码整合装置。本申请的再一个目的在于提供一种计算机设备。本申请的还一个目的在于提供一种可读介质。
[0004]为了达到以上目的,本申请的一方面公开了一种maven工程代码整合方法,包括:
[0005]获取多个工程代码,确定每个工程代码的maven依赖森林;
[0006]根据所述maven依赖森林确定是否存在jar程序冲突;
[0007]若不存在,整合多个工程代码的maven依赖森林得到maven整合依赖森林;若存在,根据存在冲突的jar程序构建jar程序池,根据所述jar程序池对多个工程代码进行整合测试,若测试通过,根据测试结果整合多个工程代码的maven依赖森林得到maven整合依赖森林。
[0008]优选的,所述获取多个工程代码,确定每个工程代码的maven依赖森林具体包括:
[0009]通过maven指令获取每个工程代码全部被引入的jar程序清单;
[0010]获取jar程序清单对应的工程代码的文件头部中的jar导入代码;
[0011]通过动态代码分析确定所述工程代码实际使用的jar程序以更新所述jar程序清单,根据更新后的jar程序清单优化所述maven依赖森林。
[0012]优选的,所述根据更新后的jar程序清单优化所述maven依赖森林具体包括:
[0013]确定maven依赖森林中是否存在不在所述jar程序清单中的目标jar程序;
[0014]若存在且所述目标jar程序为不存在依赖jar程序的独立jar程序,删除maven依赖森林中的所述目标jar程序;
[0015]若存在且所述目标jar程序存在依赖jar程序,删除maven依赖森林中的所述目标jar程序,将所述依赖jar程序作为独立jar程序。
[0016]优选的,所述根据所述maven依赖森林确定是否存在jar程序冲突具体包括:
[0017]确定不同工程代码的maven依赖森林中是否存在相同名称的jar程序;
[0018]若存在,比对不同工程代码的jar程序的版本是否一致;
[0019]若不一致,则存在jar程序冲突。
[0020]优选的,所述整合多个工程代码的maven依赖森林得到maven整合依赖森林具体包括:
[0021]保留所有工程代码maven依赖森林中相同的maven依赖中的一个至maven整合依赖森林;
[0022]保留所有工程代码maven依赖森林中的独立jar程序和依赖相同的依赖jar程序至maven整合依赖森林;
[0023]将所有工程代码maven依赖森林中依赖不相同的依赖jar程序作为独立jar程序保留至maven整合依赖森林。
[0024]优选的,所述根据存在冲突的jar程序构建jar程序池具体包括:
[0025]确定存在冲突的jar程序的不同版本;
[0026]根据不同版本确定版本区间;
[0027]确定处于所述版本区间内的所有版本的jar程序作为测试jar程序形成jar程序池。
[0028]优选的,所述根据所述jar程序池对多个工程代码进行整合测试具体包括:
[0029]从所述jar程序池中依次选择不同版本的测试jar程序对多个工程代码进行整合得到整合后的测试工程代码;
[0030]对整合后的工程代码进行运行测试,若测试通过,根据所述测试jar程序形成maven整合依赖森林。
[0031]本申请还公开了一种maven工程代码整合装置,包括:
[0032]代码分析模块,用于获取多个工程代码,确定每个工程代码的maven依赖森林;
[0033]冲突检测模块,用于根据所述maven依赖森林确定是否存在jar程序冲突;
[0034]代码整合模块,用于若不存在,整合多个工程代码的maven依赖森林得到maven整合依赖森林;若存在,根据存在冲突的jar程序构建jar程序池,根据所述jar程序池对多个工程代码进行整合测试,若测试通过,根据测试结果整合多个工程代码的maven依赖森林得到maven整合依赖森林。
[0035]本申请还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。
[0036]本申请还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
[0037]本申请maven工程代码整合方法获取多个工程代码,确定每个工程代码的maven依赖森林;根据所述maven依赖森林确定是否存在jar程序冲突;若不存在,整合多个工程代码的maven依赖森林得到maven整合依赖森林;若存在,根据存在冲突的jar程序构建jar程序池,根据所述jar程序池对多个工程代码进行整合测试,若测试通过,根据测试结果整合多个工程代码的maven依赖森林得到maven整合依赖森林。从而,本申请通过对工程代码的maven依赖森林进行检测以确定是否存在jar程序冲突,当不存在jar程序冲突时,直接自动整合多个工程代码,若存在jar程序冲突,则建立jar程序池对整合后的工程代码进行自动测试以自动确定不会存在冲突的整合方案对多个工程代码进行整合,通过自动检测和测试实现多个工程代码全程的自动化测试和整合,保证整合成功率的基础上提高整合效率,并
大幅节省了人工操作的过程,降低了人力成本。
附图说明
[0038]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1示出了本申请maven工程代码整合方法具体实施例的流程图;
[0040]图2示出了本申请maven工程代码整合方法具体实施例S100的流程图;
[0041]图3示出了本申请maven工程代码整合方法具体实施例S130的流程图;
[0042]图4示出了本申请maven工程代码整合方法一个具体例子中工程代码m本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种maven工程代码整合方法,其特征在于,包括:获取多个工程代码,确定每个工程代码的maven依赖森林;根据所述maven依赖森林确定是否存在jar程序冲突;若不存在,整合多个工程代码的maven依赖森林得到maven整合依赖森林;若存在,根据存在冲突的jar程序构建jar程序池,根据所述jar程序池对多个工程代码进行整合测试,若测试通过,根据测试结果整合多个工程代码的maven依赖森林得到maven整合依赖森林。2.根据权利要求1所述的maven工程代码整合方法,其特征在于,所述获取多个工程代码,确定每个工程代码的maven依赖森林具体包括:通过maven指令获取每个工程代码全部被引入的jar程序清单;获取jar程序清单对应的工程代码的文件头部中的jar导入代码;通过动态代码分析确定所述工程代码实际使用的jar程序以更新所述jar程序清单,根据更新后的jar程序清单优化所述maven依赖森林。3.根据权利要求2所述的maven工程代码整合方法,其特征在于,所述根据更新后的jar程序清单优化所述maven依赖森林具体包括:确定maven依赖森林中是否存在不在所述jar程序清单中的目标jar程序;若存在且所述目标jar程序为不存在依赖jar程序的独立jar程序,删除maven依赖森林中的所述目标jar程序;若存在且所述目标jar程序存在依赖jar程序,删除maven依赖森林中的所述目标jar程序,将所述依赖jar程序作为独立jar程序。4.根据权利要求1所述的maven工程代码整合方法,其特征在于,所述根据所述maven依赖森林确定是否存在jar程序冲突具体包括:确定不同工程代码的maven依赖森林中是否存在相同名称的jar程序;若存在,比对不同工程代码的jar程序的版本是否一致;若不一致,则存在jar程序冲突。5.根据权利要求1所述的maven工程代码整合方法,其特征在于,所述整合多个工程代码的maven依赖森林得到maven整合依赖森林具体包括:保留所有工程代码ma...

【专利技术属性】
技术研发人员:区伟胡军全李美娜胡文涛
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1