本申请实施例涉及软件开发领域,具体涉及一种jar包缺陷修复方法、计算机设备及计算机存储介质。
背景技术:
1、客户端在开发过程中经常会引用一些优秀的第三方jar包库,比如gons(json数据解析库)、retrofit(网络请求库)等等。这些优秀的第三方库可以提高开发效率,提升开发体验及避免bug产生。当使用的第三方库越来越多,所使用的第三方库不可避免地也会有bug出现。如果无法获取到第三方库的源码,现有的解决方案是将bug反馈给第三方库提供者,以便第三方库提供者修复bug,从而避免了客户端所引用的jar包存在bug而给客户端的开发和使用带来麻烦。
2、然而,当难以联系到第三方库提供者或者第三方库提供者未能及时修复bug,就会导致客户端的缺陷迟迟得不到解决,或者需要等待较长时间才能完成修复,这严重影响客户端的开发或者用户的使用体验。
技术实现思路
1、本申请实施例提供了一种jar包缺陷修复方法、计算机设备及计算机存储介质,避免了软件程序的jar包缺陷迟迟无法解决,可加快软件程序缺陷的修复效率,提升用户对软件程序开发和使用的体验。
2、本申请实施例第一方面提供了一种jar包缺陷修复方法,所述方法应用于计算机设备,所述方法包括:
3、获取软件程序对应的配置文件,所述配置文件用于记录待修复的目标类、所述目标类中待修复的目标方法以及所述目标方法的方法体的修复位置信息;
4、在所述软件程序所引用的所有jar包中,确定包含所述目标类的目标jar包;
5、获取所述目标jar包的class文件,根据所述目标jar包的class文件获取包含所述目标类的目标class文件;
6、在所述目标class文件的所述目标方法的方法体中,根据所述修复位置信息所表示的待修复代码对所述目标方法的方法体进行修复。
7、本申请实施例第二方面提供了一种计算机设备,所述计算机设备包括:
8、第一获取单元,用于获取软件程序对应的配置文件,所述配置文件用于记录待修复的目标类、所述目标类中待修复的目标方法以及所述目标方法的方法体的修复位置信息;
9、确定单元,用于在所述软件程序所引用的所有jar包中,确定包含所述目标类的目标jar包;
10、第二获取单元,用于获取所述目标jar包的class文件,根据所述目标jar包的class文件获取包含所述目标类的目标class文件;
11、修复单元,用于在所述目标class文件的所述目标方法的方法体中,根据所述修复位置信息所表示的待修复代码对所述目标方法的方法体进行修复。
12、本申请实施例第三方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述第一方面的方法。
13、本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
14、本申请实施例第五方面提供了一种计算机程序产品,所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行前述第一方面的方法。
15、从以上技术方案可以看出,本申请实施例具有以下优点:
16、本实施例中,计算机设备获取配置文件,配置文件记录待修复的目标类、目标类中待修复的目标方法以及目标方法的方法体的修复位置信息,则计算机设备可确定包含该目标类的目标jar包,以及确定目标jar包中包含该目标类的目标class文件,进而根据该修复位置信息所表示的待修复代码对目标class文件中该目标方法的方法体进行修复,实现对出错jar包的修复。因此,当软件程序引用的jar包出现缺陷时计算机设备可自行根据配置文件修复缺陷,无需联系第三方jar包提供商解决,从而避免了jar包缺陷迟迟无法解决,进而可加快软件程序缺陷的修复效率,提升用户对软件程序开发和使用的体验。
1.一种jar包缺陷修复方法,其特征在于,所述方法应用于计算机设备,所述方法包括:
2.根据权利要求1所述的jar包缺陷修复方法,其特征在于,所述配置文件还用于记录目标方法名称和目标方法参数;
3.根据权利要求1或2所述的jar包缺陷修复方法,其特征在于,所述在所述目标class文件的所述目标方法的方法体中,根据所述修复位置信息所表示的待修复代码对所述目标方法的方法体进行修复,包括:
4.根据权利要求3所述的jar包缺陷修复方法,其特征在于,所述配置文件还用于记录修复内容,所述修复内容包括修复代码;
5.根据权利要求1所述的jar包缺陷修复方法,其特征在于,所述jar包缺陷修复方法的步骤所对应的修复逻辑代码封装于gradle插件,所述计算机设备加载所述gradle插件,以基于所述gradle插件封装的修复逻辑代码执行所述jar包缺陷修复方法。
6.根据权利要求1所述的jar包缺陷修复方法,其特征在于,所述配置文件根据所述软件程序运行的报错信息而确定,所述报错信息由软件程序运行监控平台监控所述软件程序的运行而获得。
7.根据权利要求1所述的jar包缺陷修复方法,其特征在于,所述在所述目标class文件的所述目标方法的方法体中,根据所述修复位置信息所表示的待修复代码对所述目标方法的方法体进行修复,包括:
8.一种计算机设备,其特征在于,所述计算机设备包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。