[发明专利]一种类冲突检测方法、装置、设备及存储介质在审
申请号: | 202310266679.8 | 申请日: | 2023-03-17 |
公开(公告)号: | CN116360884A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 辛华;梅鑫雨;赵小静;杨国明;陈铭杰;许立智;姚飞 | 申请(专利权)人: | 南方电网数字电网研究院有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 郄晨芳 |
地址: | 510700 广东省广州市黄*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种类 冲突 检测 方法 装置 设备 存储 介质 | ||
本申请公开了一种类冲突检测方法、装置、设备及存储介质,涉及嵌入式技术领域,包括:获取当前加载项目的加载文件路径,进行初始化得到目标对象,并确定其启动方式;将加载文件路径和路径下的类保存至类集合中;遍历类集合确定出冲突类,并在当前加载项目的同级目录下新建冲突日志文件,将冲突类的冲突信息打印至冲突日志文件,根据冲突日志文件生成json文件;基于java代理将json文件读取到类加载工具的目录下,通过html页面显示json文件对应的冲突信息。基于初始化的对象启动方式保存加载文件的类并确定出冲突类,在检测类加载的同时,检测出加载时的冲突类,记录冲突类的信息,且可以在html页面中直观展示。
技术领域
本发明涉及嵌入式技术领域,特别涉及一种类冲突检测方法、装置、设备及存储介质。
背景技术
Java中所有的类都需要由类加载器装载到JVM(Java Virtual Machine,Java虚拟机)中才能运行,类加载器本身也是一个类,加载器的工作就是把class文件从硬盘读取到内存中。当项目中存在不同包,版本号不同但是名称相同的class文件时,即会发生类加载冲突。若在项目加载过程中,发生类加载冲突,可能会有个别的类被重复加载,造成应用调用时的不确定或调用冲突,给用户带来不便。但是当前存在类检测方案只能获取到类加载信息,无法识别到冲突类。为了使用户更加了解类加载信息和类冲突信息,以此来减少用户进行项目修改和完善的时间,如何在文件加载时,检测出发生冲突的类,并进行冲突信息显示是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种类冲突检测方法、装置、设备及存储介质,可以基于初始化的对象启动方式保存加载文件的类并确定出冲突类,在检测类加载的同时,检测出加载时的冲突类,记录冲突类的信息,且可以在html页面中直观展示。其具体方案如下:
第一方面,本申请提供了一种类冲突检测方法,包括:
获取当前加载项目的加载文件路径,基于所述加载文件路径进行初始化得到目标对象,并确定所述目标对象的启动方式;
基于所述目标对象的启动方式将所述加载文件路径和所述加载文件路径下的类保存至预设类集合中;
遍历所述预设类集合,确定出所述预设类集合中的冲突类,并在所述当前加载项目的同级目录下新建冲突日志文件,以将所述冲突类的冲突信息打印至所述冲突日志文件,以及根据所述冲突日志文件生成对应的json文件;
基于java代理将所述json文件读取到类加载工具的可读取目录下,通过类加载工具包中的html页面显示所述json文件对应的冲突信息。
可选的,所述获取当前加载项目的加载文件路径之前,还包括:
获取当前加载项目在其对应的配置文件中进行类加载冲突检测时运行的类加载器,并将所述类加载器安装至预设的自定义方法中,以通过所述自定义方法获取所述当前加载项目的加载文件路径。
可选的,所述基于所述目标对象的启动方式将所述加载文件路径和所述加载文件路径下的类保存至预设类集合中,包括:
若所述目标对象基于预设内嵌服务器路径启动,则提取所述类加载器中类的地址数组,并遍历所述地址数组;
若所述地址数组中不包含空格和jar包嵌套的形式,则将所述加载文件路径和所述加载文件路径下的类保存至预设类集合中。
可选的,所述基于所述目标对象的启动方式将所述加载文件路径和所述加载文件路径下的类保存至预设类集合中,包括:
若所述目标对象基于jar包启动,则在所述加载文件路径下新建文件夹,以解压所述jar包至所述新建文件夹;
遍历所述jar包中的文件,将遍历到的文件对应的所述加载文件路径和对应的类保存至预设类集合中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方电网数字电网研究院有限公司,未经南方电网数字电网研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310266679.8/2.html,转载请声明来源钻瓜专利网。