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