gpt4 book ai didi

java - 如何从 Eclipse "Open Call Hierarchy"获取项目信息?

转载 作者:行者123 更新时间:2023-12-01 05:06:19 24 4
gpt4 key购买 nike

我想获得 Eclipse 中一些方法的调用链报告,所以我按 Ctrl+Alt+H 打开方法调用层次结构 View ,然后按 numpad_multiply 键展开所有节点。

问题是我需要单击每个节点才能知道它属于哪个项目。

有什么方法或插件可以获取报告吗?

(我使用 Eclipse 3.5 Galileo Java EE IDE for Web Developers。感谢您的建议)

最佳答案

回答我的问题,希望对大家有帮助。(这不是一个聪明的方法,但它对我有用。)

准备:

  1. Ctrl+Alt+H 打开方法调用层次结构 View ,按 numpad_multiply 键展开所有节点。

  2. Ctrl+A 选择所有节点。

  3. 复制完全限定的类名,并将其保存到某个文件中(例如 c:\tmp.txt)

  4. 删除上述文件中的所有方法名称。

    示例:

      com.test.Class1.method1(Long, String)-> com.test.Class1

来源:

  1. 在同一工作区中创建一个新项目(类型为 java)

  2. 将目标项目引用添加到新项目

  3. 循环上述文件的每一行(例如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();
    }
  4. 请注意,返回的 [project/target] 是项目名称,仅此而已。

关于java - 如何从 Eclipse "Open Call Hierarchy"获取项目信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12615471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com