System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 软件功能包的自动更新方法、装置、设备及存储介质制造方法及图纸_技高网

软件功能包的自动更新方法、装置、设备及存储介质制造方法及图纸

技术编号:40788818 阅读:2 留言:0更新日期:2024-03-28 19:19
本申请提供一种软件功能包的自动更新方法、装置、设备及存储介质,涉及互联网技术领域。该方法包括对预设软件功能包进行解压,得到预设软件功能包中各个类文件的当前版本;若当前版本指示预设软件功能包的版本低于预设软件开发工具的预设版本,则采用预设字节码处理工具,将各个类文件中当前版本对应的文件内容修改为预设版本对应的文件内容,得到版本修改后的各个类文件;对版本修改后的各个类文件进行压缩,生成目标软件功能包,以采用预设软件开发工具调用目标软件功能包。采用本申请的方法,能够自动将预设软件功能包升级至预设版本,在提高了预设软件功能包更新效率的同时,避免了手动更新预设软件功能包,减少了人力物力耗费。

【技术实现步骤摘要】

本申请涉及互联网,具体而言,涉及一种软件功能包的自动更新方法、装置、设备及存储介质


技术介绍

1、当前java生态使用的jdk(java development kit)主流版本jdk8、jdk11仍然占用90%,jdk17进行了多方面的改进,例如jit编译器、垃圾回收期、语言特性等等,也是未来长期支持的版本。

2、然而,个人或企业的java项目往往依赖大量第三方jar包(java archive file)提供的功能,但这些jar包大部分不支持jdk17,若需要将jar包升级至支持jdk17的版本,传统的方案需要重新编写jar包,因此在升级jar包时耗费了大量人力物力,投入较多且效率低。


技术实现思路

1、本申请针对上述现有技术中的不足,提供一种软件功能包的自动更新方法、装置、设备及存储介质,以便解决现有技术中存在的问题。

2、本申请实施例采用的技术方案如下:

3、第一方面,本申请实施例提供了一种软件功能包的自动更新方法,包括:

4、对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本;

5、若所述当前版本指示所述预设软件功能包的版本低于预设软件开发工具的预设版本,则采用预设字节码处理工具,将所述各个类文件中所述当前版本对应的文件内容修改为所述预设版本对应的文件内容,得到版本修改后的各个类文件;

6、对所述版本修改后的各个类文件进行压缩,生成目标软件功能包,以采用所述预设软件开发工具调用所述目标软件功能包。

7、在一实施例中,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本之前,所述方法还包括:

8、根据所述预设软件功能包的路径参数,读取所述预设软件功能包。

9、在一实施例中,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本,包括:

10、对所述预设软件功能包进行解压,得到所述预设软件功能包中所述各个类文件和基本属性配置文件;

11、从所述各个类文件或者所述基本属性配置文件中,读取所述各个类文件的当前版本。

12、在一实施例中,所述对所述版本修改后的各个类文件进行压缩,生成目标软件功能包之前,所述方法还包括:

13、将所述基本属性配置文件中所述各个类文件的版本配置信息修改为所述预设版本对应的信息,得到修改后的基本属性配置文件;

14、所述对所述版本修改后的各个类文件进行压缩,生成目标软件功能包,包括:

15、对所述版本修改后的各个类文件和所述修改后的基本属性配置文件进行压缩,生成所述目标软件功能包。

16、在一实施例中,所述采用预设字节码处理工具,将所述各个类文件中所述当前版本对应的文件内容修改为所述预设版本对应的文件内容,得到版本修改后的各个类文件,包括:

17、根据所述预设版本的升级规范以及所述当前版本,确定所述各个类文件中的待移除接口信息以及待替换接口信息;

18、采用所述预设字节码处理工具,将所述各个类文件中的所述待移除接口信息进行删除,并将所述待替换接口信息添加至所述各个类文件中,得到所述版本修改后的各个类文件。

19、在一实施例中,所述方法还包括:

20、获取所述预设软件开发工具对应的预设软件项目的项目对象模型文件;删除所述项目对象模型文件中所述待移除接口信息对应的依赖关系,并添加所述待替换接口信息对应的依赖关系。

21、在一实施例中,所述确定所述各个类文件中的待移除接口信息以及待替换接口信息之后,所述方法还包括:

22、检测所述各个类文件中的待替换接口信息是否符合预设反射条件;

23、若所述各个类文件中的待替换接口信息中,存在目标待替换接口信息不符合所述预设反射条件,向所述基本属性配置文件输出针对所述目标待替换接口信息的报警参数。

24、第二方面,本申请实施例提供了一种软件功能包的自动更新装置,包括:

25、解压模块,用于对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本;

26、修改模块,用于若所述当前版本指示所述预设软件功能包的版本低于预设软件开发工具的预设版本,则采用预设字节码处理工具,将所述各个类文件中所述当前版本对应的文件内容修改为所述预设版本对应的文件内容,得到版本修改后的各个类文件;

27、压缩模块,用于对所述版本修改后的各个类文件进行压缩,生成目标软件功能包,以采用所述预设软件开发工具调用所述目标软件功能包。

28、第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行上述任一实施例所述的软件功能包的自动更新方法。

29、第四方面,本申请实施例提供了一种可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一实施例所述的软件功能包的自动更新方法。

30、本申请的有益效果是:本申请提供了一种软件功能包的自动更新方法、装置、设备及存储介质,该方法包括对预设软件功能包进行解压,得到预设软件功能包中各个类文件的当前版本;若当前版本指示预设软件功能包的版本低于预设软件开发工具的预设版本,则采用预设字节码处理工具,将各个类文件中当前版本对应的文件内容修改为预设版本对应的文件内容,得到版本修改后的各个类文件;对版本修改后的各个类文件进行压缩,生成目标软件功能包,以采用预设软件开发工具调用目标软件功能包。

31、其中,通过采用预设字节码处理工具,在预设软件功能包的版本低于预设版本时,能够自动将预设软件功能包升级至预设版本,提高了对预设软件功能包进行更新的效率,同时,避免了手动更新预设软件功能包,减少了人力物力耗费。

本文档来自技高网...

【技术保护点】

1.一种软件功能包的自动更新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本,包括:

4.根据权利要求3所述的方法,其特征在于,所述对所述版本修改后的各个类文件进行压缩,生成目标软件功能包之前,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述采用预设字节码处理工具,将所述各个类文件中所述当前版本对应的文件内容修改为所述预设版本对应的文件内容,得到版本修改后的各个类文件,包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求5所述的方法,其特征在于,所述确定所述各个类文件中的待移除接口信息以及待替换接口信息之后,所述方法还包括:

8.一种软件功能包的自动更新装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行权利要求1至7任一所述的软件功能包的自动更新方法。

10.一种可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至7任一所述的软件功能包的自动更新方法。

...

【技术特征摘要】

1.一种软件功能包的自动更新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本之前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述对预设软件功能包进行解压,得到所述预设软件功能包中各个类文件的当前版本,包括:

4.根据权利要求3所述的方法,其特征在于,所述对所述版本修改后的各个类文件进行压缩,生成目标软件功能包之前,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述采用预设字节码处理工具,将所述各个类文件中所述当前版本对应的文件内容修改为所述预设版本对应的文件内容,得到版本修改后的各个类文件,包括:

...

【专利技术属性】
技术研发人员:夏振水宋建明李长全
申请(专利权)人:杭州米络星科技集团有限公司
类型:发明
国别省市:

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

1