IntelliJ IDEA 无法启动:无法加载 JDK class:com.sun.jdi.Field

IntelliJ IDEA doesn't start: Cannot load a JDK class: com.sun.jdi.Field

当我尝试启动 IntelliJ 时,我收到一个弹出窗口说

Cannot load a JDK class: com.sun.jdi.Field 
Please ensure you run the IDE on JDK rather than JRE.

这真的很奇怪,因为我已经将 JAVA_HOMEPATH 变量指向了 Java 11 JDK.

确保您的 IntelliJ 版本在 Java 11 上支持 运行(不仅仅是用它编译)。此外,如果您正在使用 Windows 并且刚刚定义了 JAVA_HOME 变量,请重新启动。

如果您用其他版本覆盖默认的 JetBrains 运行时,就会出现此问题,IDE 将此运行时的位置保存在 CONFIG\idea64.exe.jdk 文件下,然后此运行时将变得无效(已删除或损坏)或与新 IDE 版本不兼容。

解决方案是删除 idea64.exe.jdk/idea.exe.jdk 文件,以便 IDE 使用默认捆绑的 JetBrains Runtime(文件名可能会有所不同,具体取决于您使用的产品, 所以一般的指南是删除 IDE config directory).

中的 *.jdk 个文件

Windows 上的大多数用户应该删除以下文件:

c:\Users\<user>\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk

当此文件指向 Java 8 时会出现问题,因为 IntelliJ IDEA 不再在 Java 8 上运行,而是期望 Java 11。 Java 11 已捆绑,但此文件覆盖了它,因此出现了问题。

另请检查 this document 以了解其他可能的方法来覆盖 IDE 运行时并确保其中的 none 有效:

IDEA_JDK_64 环境变量也可能会覆盖默认运行时,您需要取消设置。

另一个可能的问题是 jbr 子目录中的捆绑运行时已损坏。通过IDE_HOME\jbr\bin里面的运行java -version验证。重新安装 IDE 应该会有帮助。

另请参阅 related discussion in IntelliJ IDEA forum

问题是being investigated in YouTrack

从 2020.1 开始,配置文件夹位于 %APPDATA%/Roaming/JetBrains/<product><version> 文件夹中。

我必须删除该文件夹中的 *.jdk 文件才能重新配置。

只需将系统变量 JAVA_HOME 更改为:

JAVA_HOME=C:\Program Files\Java\jre

至:

JAVA_HOME=C:\Program Files\Java\jdk

对我来说很有魅力(Windows)。