[发明专利]一种无用依赖项检测方法及装置有效
| 申请号: | 201810474826.X | 申请日: | 2018-05-17 |
| 公开(公告)号: | CN108628751B | 公开(公告)日: | 2021-06-11 |
| 发明(设计)人: | 付祥旭 | 申请(专利权)人: | 北京三快在线科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/20 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 无用 依赖 检测 方法 装置 | ||
1.一种无用依赖项检测方法,其特征在于,包括:
获取软件项目运行时加载的目标类;
从所述软件项目的配置文件中,获取所述软件项目的所有依赖项;
根据所述所有依赖项,建立所述所有依赖项中各依赖项与其包含的各类的类名的预设对应关系;其中,所述各依赖项包含的各类包括所述目标类;
根据所述目标类和所述预设对应关系,检测所述所有依赖项中的无用依赖项,其中,所述无用依赖项为所述软件项目运行时所述所有依赖项中使用不到的依赖项。
2.如权利要求1所述的方法,其特征在于,
所述根据所述所有依赖项,建立所述所有依赖项中各依赖项与其包含的各类的类名的预设对应关系,包括:
获取所述各依赖项的档案文件;
将所述各依赖项的档案文件进行解压,获取所述各依赖项的档案文件中包含的各类的类名;
建立所述各依赖项与所述各依赖项的档案文件中包含的各类的类名之间的所述预设对应关系。
3.如权利要求2所述的方法,其特征在于,
所述根据所述目标类和所述预设对应关系,检测所述所有依赖项中的无用依赖项,包括:
确定所述预设对应关系中不与所述目标类的类名对应的依赖项;
将所述预设对应关系中,不与所述目标类的类名对应的依赖项确定为所述无用依赖项。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:根据所述无用依赖项,生成依赖项处理方案,包括:
从所述配置文件中获取所述所有依赖项形成的初始依赖关系树;
在所述初始依赖关系树的基础上,根据所述无用依赖项,生成所述依赖项处理方案,以调整所述初始依赖关系树。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:根据所述依赖项处理方案,对所述所有依赖项进行预设处理,包括:
根据所述依赖项处理方案,自动对所述所有依赖项进行所述预设处理;
或者
将所述依赖项处理方案进行显示;
当接收到根据所述依赖项处理方案对所述所有依赖项进行处理的处理命令时,根据所述处理命令,对所述所有依赖项进行所述预设处理。
6.如权利要求5所述的方法,其特征在于,
所述在所述初始依赖关系树的基础上,根据所述无用依赖项,生成所述依赖项处理方案,以调整所述初始依赖关系树,包括:
采用宽度优先遍历方式遍历所述初始依赖关系树,为所述初始依赖关系树中所述无用依赖项所在的节点设置删除标记;其中,所述删除标记用于指示将所述无用依赖项所在的节点所属的子树从所述初始依赖关系树中删除;
判断所述子树中是否存在有用依赖项,其中,所述有用依赖项为所述软件项目运行时所述所有依赖项中使用到的依赖项;
当所述子树中存在有用依赖项时,为所述子树中存在的有用依赖项设置添加标记,其中,所述添加标记用于指示将所述子树从所述初始依赖关系树中删除后,将所述子树中存在的有用依赖项重新添加至删除所述子树后获得的第一目标依赖关系树中,以获得第二目标依赖关系树。
7.如权利要求6所述的方法,其特征在于,
所述删除标记包括第一删除标记和第二删除标记;
所述采用宽度优先遍历方式遍历所述初始依赖关系树,为所述初始依赖关系树中所述无用依赖项所在的节点设置删除标记,包括:
在采用宽度优先遍历方式遍历所述初始依赖关系树时,判断所述无用依赖项所在的节点是否属于所述初始依赖关系树中的一级子节点;
为属于所述初始依赖关系树中的一级子节点的无用依赖项设置所述第一删除标记;
为不属于所述初始依赖关系树中的一级子节点的无用依赖项设置所述第二删除标记,其中,所述第一删除标记和所述第二删除标记不同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810474826.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测试代码处理方法及装置
- 下一篇:一种数据存储方法和装置





