当我尝试启动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。
答案 0 :(得分:31)
如果您使用其他版本覆盖默认的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运行时的其他可能方法,并确保所有这些方法均无效:
IDEA_JDK_64
环境变量可能还会覆盖默认的运行时,您需要取消设置。
另一个可能的问题是jbr
子目录中的捆绑运行时已损坏。通过在java -version
内部运行IDE_HOME\jbr\bin
进行验证。重新安装IDE应该会有所帮助。
答案 1 :(得分:1)
确保您的IntelliJ版本支持在Java 11上运行(而不只是与其一起编译)。此外,如果您使用的是Windows,并且刚刚定义了JAVA_HOME变量,请重新启动。
答案 2 :(得分:1)
从2020.1开始,配置文件夹位于%APPDATA%/Roaming/JetBrains/<product><version>
文件夹中。
我必须删除该文件夹中的* .jdk文件才能对其进行自我配置。
答案 3 :(得分:0)
答案 4 :(得分:0)
只需从以下位置更改系统变量JAVA_HOME:
JAVA_HOME=C:\Program Files\Java\jre
收件人:
JAVA_HOME=C:\Program Files\Java\jdk
像我的魅力一样(在Windows上)为我工作。