我想获得eclipse中某些方法的调用链报告, 所以我按 Ctrl + Alt + H 打开方法调用层次结构视图, 并按numpad_multiply键展开所有节点。
问题是我需要点击每个节点才能知道它属于哪个项目。
有没有办法或插件来获取报告?
(我为Web开发人员使用Eclipse 3.5 Galileo Java EE IDE。感谢任何建议)
答案 0 :(得分:0)
回答我的问题,我希望这有助于某人。 (这不是一个聪明的方法,但它对我有用。)
准备:
Ctrl + Alt + H打开方法调用层次结构视图,按numpad_multiply键展开所有节点。
Ctrl + A选择所有节点。
复制完全限定的类名,并将其保存到某个文件中(例如c:\ tmp.txt)
删除上述文件中的所有方法名称。
示例:
com.test.Class1.method1(Long, String)-> com.test.Class1
来源:
在同一工作区中创建一个新项目(类型为java)
将目标项目引用添加到新项目
循环上面文件的每一行(例如c:\ tmp.txt),最后使用此代码获取类位置:
/**
* Get class file location
* @param path : example: com.test.Class1
* @return : example: /D:/workspace/project/target/com/test/Class1.class
* @throws ClassNotFoundException
*/
private static String getFileLocationByClassName(String path)
throws ClassNotFoundException {
if (path == null || path.length() == 0)
return "";
Class<?> forName = Class.forName(path);
URL resource = forName.getResource(forName.getSimpleName() + ".class");
if (!"file".equalsIgnoreCase(resource.getProtocol()))
throw new IllegalStateException("Class is not stored in a file.");
return resource.getPath();
}
请注意,[project / target]的回报是项目名称,这就是全部。
答案 1 :(得分:0)
在开普勒,窗口右侧有一个向下箭头(称为“查看菜单”),您可以在其中查看“显示文件名”