用Java语言编写。给定一个根类,我想找出根引用的所有类(整个对象图)。 Java Reflect是不够的。因为:
Class A{
List list = new ArrayList();
public void add(Object obj){
list.add(obj);
}
public void add2(){
Ent ent = new Ent();
add(ent);
}
}
使用Reflect,我可以轻松获得" A类包含(对象)" 。 但实际上我想要的是“A类包含(Ent)”。
我想分析java src代码或.class文件,以静态地找出整个对象图,而不是运行时。
有没有人可以帮助我?谢谢!
答案 0 :(得分:1)
depfind工具有助于跟踪依赖关系并采取一些措施。它可以找到出站依赖项。
仅显示出站依赖关系
出站依赖项显示给定编程元素所依赖的对象 根据。它们在分割编程元素时非常有用 弄清楚给定类需要运行的其他类。 依赖关系查找器使用文本符号来显示它们:
programming element --> dependable 1 --> dependable 2 ...
当存在大量依赖关系时,要么因为图形非常大 大或元素高度连接,过滤掉它是有用的 其他依赖关系,以便出站的突出,更容易 读取。
http://depfind.sourceforge.net/Manual.html#ShowingOnlyOutboundDependencies