当我尝试启动IntelliJ时,会弹出一个对话框
Cannot load a JDK class: com.sun.jdi.Field
Please ensure you run the IDE on JDK rather than JRE.
确实很奇怪,因为我已经将JAVA_HOME
and PATH
变量指向了Java 11 JDK。
当我尝试启动IntelliJ时,会弹出一个对话框
Cannot load a JDK class: com.sun.jdi.Field
Please ensure you run the IDE on JDK rather than JRE.
确实很奇怪,因为我已经将JAVA_HOME
and PATH
变量指向了Java 11 JDK。
Answers:
如果您使用其他版本覆盖默认的JetBrains运行时,则会发生此问题,IDE将此运行时的位置保存在CONFIG\idea64.exe.jdk
文件下,然后此运行时变得无效(已删除或损坏)或与新的IDE版本不兼容。
解决方案是删除idea64.exe.jdk
/ idea.exe.jdk
文件,以使IDE使用默认的捆绑JetBrains Runtime(文件名可能因所使用的产品而异,因此一般指南是删除*.jdk
IDE config目录中的文件)。
这是应该为Windows上的大多数用户删除的文件:
c:\Users\<user>\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk
当此文件指向Java 8时,将出现问题,因为IntelliJ IDEA不再在Java 8上运行,而期望使用Java 11。Java 11已经捆绑在一起,但是此文件将其覆盖,因此出现了问题。
另请检查此文档以了解替代IDE运行时的其他可能方法,并确保这些方法均无效:
IDEA_JDK_64
环境变量也可能会覆盖默认运行时,您需要取消设置。
另一个可能的问题是jbr
子目录中的捆绑运行时已损坏。通过在java -version
内部运行进行验证IDE_HOME\jbr\bin
。重新安装IDE应该会有所帮助。
另请参阅IntelliJ IDEA论坛中的相关讨论。
该问题正在YouTrack中进行调查。
确保您的IntelliJ版本支持在Java 11上运行(而不只是与其一起编译)。此外,如果您使用的是Windows,并且刚刚定义了JAVA_HOME变量,请重新启动。
从2020.1开始,配置文件夹位于%APPDATA%/Roaming/JetBrains/<product><version>
文件夹中。
我必须删除该文件夹中的* .jdk文件才能对其进行自我配置。