错误原因分析

  • isMainMethodCandidate() 是 Eclipse JDT 内部 API 的一个方法。

  • 某些版本的 Java 扩展依赖了该方法,但在你当前使用的 JDT LS 或相关 JAR 包中,该方法可能:

    • 被移除

    • 被重命名

    • 访问权限变更(如变为 package-private)

  • 这种情况常见于:

    • code-server 使用了较旧或较新的 Java 扩展/JDT LS 组合

    • 手动安装了不兼容的插件版本

    • 缓存未清理导致混合使用多个版本

解决:

将Debugger for Java插件的版本从0.58.5降到0.56.2