【问题标题】:How to see what triggered "Build workspace" in Eclipse如何在 Eclipse 中查看触发“构建工作区”的内容
【发布时间】:2012-03-29 23:54:07
【问题描述】:

我的 Eclipse 一直在运行“构建工作区”任务。这不是一个长期运行的构建,更像是每秒构建 1 个。 有时我会在“进度”选项卡中看到 10 个“构建工作区”任务正在休眠和等待。

我想知道是什么触发了这些构建。我安装了很多插件。 有什么方法可以解决这个问题?

【问题讨论】:

    标签: eclipse build


    【解决方案1】:

    这里有一些步骤可以帮助您调试正在发生的事情。

    1. 为您当前使用的任何版本的 Eclipse 下载 Eclipse Classic SDK。对于朱诺that link is here。
    2. 打开当前正常 Eclipse 的 eclipse.ini 并添加以下选项:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
    3. 启动要调试的 Eclipse 实例,它应该在初始屏幕处暂停
    4. 解压 Eclipse 经典 SDK 并启动该 Eclipse 实例
    5. 打开插件视图
    6. 查找 org.eclipse.core.resources
    7. 右键单击并选择“添加到 Java 搜索”
    8. 打开类型对话框,输入“BuildManager”
    9. 您应该会看到该插件中的一个类作为选项提供,然后打开它
    10. 找到如下所示的行:prereqs = currentBuilder.build(trigger, args, monitor); 应该是第 728 行(对于 Eclipse Juno)
    11. 在此处设置断点
    12. 创建一个新的远程 Java 应用程序调试配置并指向 localhost 端口 8000
    13. 启动此调试配置
    14. 您应该会看到您的其他 Eclipse 实例启动

    现在,每次 Eclipse 构建管理器触发构建(应该发生在所有这些 Build Workspace 作业上)时,您都会看到这个断点被击中,并且您可以找出正在触发的构建器。

    更新 1

    如果您需要其他 Eclipse 包的源代码,也可以将它们添加到“插件”视图中。选择那里的所有插件并右键单击并使用Add to Java Search

    【讨论】:

    • 感谢您的广泛回复——我还没有尝试过,但我肯定会的。 (仍然很遗憾,这实际上必须进行调试,而不是一些简单的跟踪选项。)赏金即将到来。
    • 上述步骤效果很好,但我无法检查任何变量,我收到以下消息: * org.eclipse.osgi.util.NLS 类型无法解析。它是从所需的 .class 文件中间接引用的。 * org.eclipse.core.runtime.IExecutableExtension 类型无法解析。它是从所需的 .class 文件中间接引用的。知道我错过了什么吗?
    • 您需要将所有目标平台插件(与 eclipse 捆绑在一起的插件)添加到 Java 搜索中。我会将该步骤添加到我的帖子中。
    • @gamerson 我知道这是一个已有 3 年历史的答案,并且此评论违反了规则,但我真的很想感谢您提供如此深入、有见地和有用的答案。跨度>
    【解决方案2】:

    您安装了哪些当前处于活动状态的插件?

    按 CTRL+3 输入“插件”,然后选择插件注册表。 在插件视图中右键单击并选择“仅活动”

    检查非必要的核心插件(例如与自动构建和发布的服务器相关的)

    如果您需要更多帮助,请发布活动插件的屏幕截图

    【讨论】:

    • 我有一个很长的活动插件列表,准确地说是 214 个,它们不适合一个屏幕。 :-) 这就是我希望 Eclipse 指出确切原因的原因:“这个 构建器启动是因为它看到 那个 文件发生了变化。”
    【解决方案3】:

    您可能已自动检查构建,当您保存时将构建。检查 nav Project > Build Automatically

    【讨论】:

    • 当然是这样。但我不会每秒钟都保存。
    【解决方案4】:

    关闭所有未使用项目的其他方式。

    此外,为了获得良好的视图,请使用过滤:查看菜单 -> 过滤器 -> 选中“已关闭项目”。

    有时,如果您有超过 20 个打开的项目,您可以观察到持续的“构建工作区”趋势。

    【讨论】:

    • 是的,这就是我为解决这个问题所做的工作:一个特定的项目目前有这个问题,我想找出根本原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    相关资源
    最近更新 更多