[发明专利]应用程序包生成方法、装置、电子设备以及存储介质在审
申请号: | 202111632387.9 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114296705A | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 扈乾明;孟海忠;江伟 | 申请(专利权)人: | 挂号网(杭州)科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/60 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 康欢欢 |
地址: | 311200 浙江省杭州市萧山区萧山*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 程序包 生成 方法 装置 电子设备 以及 存储 介质 | ||
本发明实施例公开了一种应用程序包生成方法、装置、电子设备以及存储介质。该方法包括:获取应用程序的源代码,并确定所述源代码中具有外部依赖关系的至少一个源码类文件;对于任一源码类文件,确定所述当前源码类文件所依赖的目标引用类文件,以及确定所述目标类文件在外部工具包中的位置信息;基于各所述源码类文件分别对应的目标引用类文件标识和所述位置信息确定各所述目标引用类文件的目标包文件;获取所述源代码的目标程序,并基于所述目标包文件和所述目标程序生成所述应用程序的程序包。通过本发明实施例公开的技术方案,减小了在网络传输过程中占用带宽和传输时间,从而减小应用程序的程序包在网络传输过程中的传输成本。
技术领域
本发明实施例涉及软件技术领域,尤其涉及一种应用程序包生成方法、装置、电子设备以及存储介质。
背景技术
在Java web工程下进行应用部署,需将源代码编译生成目标程序,基于目标程序生成程序包,并将程序包传输到目标服务器上启动运行。。但是,现有技术中生成的程序包包文件体积大,在磁盘上占用更大的空间,增加了硬件成本,在网络传输过程中占用更多带宽和传输时间,增加了网络传输成本。
发明内容
本发明提供一种应用程序包生成方法、装置、电子设备以及存储介质,以解决生成程序包体积大的问题,减小在网络传输过程中占用带宽和传输时间,从而减小应用程序的程序包在网络传输过程中的传输成本。
第一方面,本发明实施例提供了一种应用程序包生成方法,该方法包括:
获取应用程序的源代码,并确定所述源代码中具有外部依赖关系的至少一个源码类文件;
对于任一源码类文件,确定所述当前源码类文件所依赖的目标引用类文件,以及确定所述目标类文件在外部工具包中的位置信息;其中,所述目标引用类文件为不具有外部依赖关系的类文件;
基于各所述源码类文件分别对应的目标引用类文件标识和所述位置信息确定各所述目标引用类文件的目标包文件;
获取所述源代码的目标程序,并基于所述目标包文件和所述目标程序生成所述应用程序的程序包。
可选的,在确定所述源代码中具有外部依赖关系的至少一个源码类文件之前,包括:
对所述源代码进行逻辑分析,确定所述源代码中的代码逻辑;其中,所述逻辑分析包括词法分析、语法分析和语义分析。
可选的,所述确定所述源代码中具有外部依赖关系的至少一个源码类文件,包括:
获取预设的注解标识,基于所述注解标识对所述代码逻辑进行引用识别,确定所述源代码中具有外部依赖关系的源码类文件。
可选的,所述对于任一源码类文件,确定所述当前源码类文件所依赖的目标引用类文件,包括:
获取所述源码类文件中的源码头文件,确定所述源码头文件中存储的至少一个引用类文件;
获取各所述引用类文件的引用头文件,并基于所述头文件的文件类型确定所述引用类文件中的至少一个外部引用类文件;
对于任一外部引用类文件,若所述引用头文件中不再包括外部引用类文件,则将当前外部引用类文件确定为目标引用类文件。
可选的,在基于各所述源码类文件分别对应的目标引用类文件标识和所述位置信息确定各所述目标引用类文件的目标包文件之前,还包括:
对各源码类文件分别对应的目标类文件进行校验处理,得到校验后的各目标类文件;其中,所述校验处理包括去重校验和合法校验。
可选的,所述基于各所述源码类文件分别对应的目标引用类文件标识和所述位置信息确定各所述目标引用类文件的目标包文件,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于挂号网(杭州)科技有限公司,未经挂号网(杭州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111632387.9/2.html,转载请声明来源钻瓜专利网。