You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中递归查找类依赖及间接依赖溯源的技术问询

在Eclipse中分析类依赖的实用方法

刚好在日常开发中用Eclipse处理过不少类依赖分析的需求,给你分享两种问题的具体解决办法:

1. 递归查找类的依赖关系

Eclipse自带了几个好用的工具,不用额外装插件就能搞定:

方法一:调用层次结构(Call Hierarchy)

这是最常用的方式,能清晰看到类的调用与被调用链:

  • 打开目标类,右键点击类名(或者在编辑器里选中类名),选择「Open Call Hierarchy」(快捷键Ctrl+Alt+H)
  • 默认视图显示的是调用当前类的上层类(Caller Hierarchy),如果要找当前类依赖的下层类,切换到视图右上角的「Callee Hierarchy」标签
  • 展开各个节点就能看到递归的完整依赖链,包括直接和间接调用的所有类、方法

方法二:依赖分析器(Dependency Analyzer)

这个工具更偏向于静态依赖的全面分析:

  • 点击顶部菜单「Window」→「Show View」→「Other...」,搜索「Dependency Analyzer」打开视图
  • 把目标类直接拖到视图中,或者右键目标类→「Analyze Dependencies」
  • 在视图的「Dependencies」标签下,勾选「Recursive」选项,就能看到当前类所有递归依赖的类、接口等,还能通过顶部的过滤选项缩小范围

2. 检查是否间接依赖javax.servlet.http.HttpSession并定位引入位置

要精准定位间接依赖的路径,结合工具的搜索和路径追踪功能就能实现:

方法一:结合Call Hierarchy与搜索

  • 先按照上面的方法打开目标类的「Callee Hierarchy」
  • 在Call Hierarchy视图的右上角搜索框输入HttpSession,视图会自动过滤出包含该类的依赖节点
  • 展开匹配的节点,就能一步步回溯:从目标类→中间依赖类→...→HttpSession,点击节点就能直接跳转到对应的代码位置,查看具体是在哪里引入的

方法二:用Dependency Analyzer直接查看依赖路径

  • 打开Dependency Analyzer并导入目标类,在「Dependencies」标签的搜索框输入javax.servlet.http.HttpSession
  • 找到对应的依赖项后,右键点击它→「Open Dependency Path」,会弹出一个窗口显示完整的依赖链路径
  • 路径里的每一个节点都是中间依赖类,点击就能直接跳转到代码,清晰看到引入的层级

额外提示

如果你的项目是Maven管理的,也可以用「Maven Dependencies」视图里的「Dependency Hierarchy」查看jar包之间的依赖,但这是jar级别的,类级别的递归分析还是用上面的工具更精准。

内容的提问来源于stack exchange,提问作者Tuomas Toivonen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:46:02