System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体而言,涉及一种原生应用打包方法、装置、电子设备及存储介质。
技术介绍
1、当前java web服务基本是以springboot1x-2x框架为基础进行开发的,但是springboot1x-2x并不支持打包成原生应用,之后springboot3x才支持打包成原生应用。
2、个人或者企业的springboot项目往往需要依赖大量的第三方jar包提供的功能,但是这些jar包不支持springboot3x的规范,导致项目无法打包成原生应用。
技术实现思路
1、本专利技术的目的在于,针对上述现有技术中的不足,提供一种原生应用打包方法、装置、电子设备及存储介质,以便可以生成满足目标框架信息的项目对象模型文件,从而可以打包生成原生应用。
2、为实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供了一种原生应用打包方法,所述方法包括:
4、获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
5、根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
6、根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
7、在一种可能的实现方式中,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改
8、判断所述原始框架信息是否为所述目标框架信息;
9、所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
10、若所述原始框架信息不是所述目标框架信息,根据所述原始框架信息和所述目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
11、在一种可能的实现方式中,所述方法还包括:
12、若所述原始框架信息是所述目标框架信息,根据所述项目对象模型文件,生成所述预设项目的原生应用的安装包。
13、在一种可能的实现方式中,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
14、获取所述原始框架信息和所述目标框架信息之间的依赖替换映射信息;
15、根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包;
16、根据所述目标框架信息,对所述基本数据包进行配置修改,得到所述修改后的基本数据包。
17、在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,包括:
18、判断所述依赖替换映射信息中是否包括所述依赖数据包的替换映射;
19、若所述依赖替换映射信息中包括所述依赖数据包的替换映射,对所述依赖数据包进行替换,得到修改后的依赖数据包。
20、在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
21、若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第一jar包,对所述第一jar包的class文件进行替换,得到修改后的依赖数据包。
22、在一种可能的实现方式中,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
23、若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第二jar包,对所述第二jar包的配置文件进行替换,得到修改后的依赖数据包。
24、第二方面,本申请实施例还提供一种原生应用打包装置,所述装置包括:
25、文件获取模块,用于获取预设项目的项目对象模型文件,所述项目对象模型文件包括:所述预设项目的原始框架信息、基本数据包、依赖数据包;
26、数据包修改模块,用于根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包;
27、安装包生成模块,用于根据所述修改后的基本数据包和依赖数据包,生成所述预设项目的原生应用的安装包。
28、在一种可能的实现方式中,所述数据包修改模块之前,所述装置还包括:
29、框架信息判断模块,用于判断所述原始框架信息是否为所述目标框架信息;
30、所述数据包修改模块,具体用于若所述原始框架信息不是所述目标框架信息,根据所述原始框架信息和所述目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包。
31、在一种可能的实现方式中,所述安装包生成模块,还用于若所述原始框架信息是所述目标框架信息,根据所述项目对象模型文件,生成所述预设项目的原生应用的安装包。
32、在一种可能的实现方式中,所述数据包修改模块,包括:
33、映射信息获取单元,用于获取所述原始框架信息和所述目标框架信息之间的依赖替换映射信息;
34、依赖数据包替换单元,用于根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包;
35、基本数据包修改单元,用于根据所述目标框架信息,对所述基本数据包进行配置修改,得到所述修改后的基本数据包。
36、在一种可能的实现方式中,所述依赖数据包替换单元,具体用于判断所述依赖替换映射信息中是否包括所述依赖数据包的替换映射;若所述依赖替换映射信息中包括所述依赖数据包的替换映射,对所述依赖数据包进行替换,得到修改后的依赖数据包。
37、在一种可能的实现方式中,所述依赖数据包替换单元,还用于若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第一jar包,对所述第一jar包的class文件进行替换,得到修改后的依赖数据包。
38、在一种可能的实现方式中,所述依赖数据包替换单元,还用于若所述依赖替换映射信息中不包括所述依赖数据包的替换映射,且所述依赖数据包为第二jar包,对所述第二jar包的配置文件进行替换,得到修改后的依赖数据包。
39、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一项所述的原生应用打包方法的步骤。
40、第四方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的原生应用打包方法的步骤。
...
【技术保护点】
1.一种原生应用打包方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包之前,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
5.如权利要求4所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,包括:
6.如权利要求5所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
7.如权利要求5所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,还包括:
8.一种原生应用打包装置,其特征在于,所述装置包括:
9
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的原生应用打包方法的步骤。
...【技术特征摘要】
1.一种原生应用打包方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和所述依赖数据包进行修改,得到修改后的基本数据包和依赖数据包之前,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述原始框架信息和目标框架信息,对所述基本数据包和依赖数据包进行修改,得到修改后的基本数据包和依赖数据包,包括:
5.如权利要求4所述的方法,其特征在于,所述根据所述依赖替换映射信息,对所述依赖数据包进行替换,得到修改后的依赖数据包,包括:
6.如权利要求5所述的方法,其特征在于,所述根据所述依赖替换映射信...
【专利技术属性】
技术研发人员:夏振水,魏安稳,程猛,
申请(专利权)人:杭州米络星科技集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。