Java IntelliJ IDEA没有';t start:无法加载JDK类:com.sun.jdi.Field

Java IntelliJ IDEA没有';t start:无法加载JDK类:com.sun.jdi.Field,java,intellij-idea,jetbrains-ide,Java,Intellij Idea,Jetbrains Ide,当我试图启动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。确保IntelliJ版本支持在JAVA 11上运行(而不仅仅是用它编译)。此外,如果您正在使用Windows,并且刚刚定义了JAVA_HOME变量,请重新启动。

当我试图启动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。

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

  • 检查是否未在IntelliJ配置文件中覆盖它:
  • 作为最后手段,请尝试通过配置文件进行更改

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

解决方案是删除
idea64.exe.jdk
/
idea.exe.jdk
文件,以便IDE使用默认的捆绑JetBrains运行时(文件名可能因您使用的产品而异,因此一般指南是删除IDE中的
*.jdk
文件)

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

c:\Users\<user>\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk
c:\Users\\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk
当该文件指向Java 8时,就会出现问题,因为IntelliJ IDEA不再在Java 8上运行,而是希望使用Java 11。Java11已经绑定,但是这个文件覆盖了它,因此出现了问题

还请检查覆盖IDE运行时的其他可能方法,并确保这些方法均无效:

IDEA\u JDK\u 64
环境变量也可能会覆盖默认运行时,您需要将其取消设置

另一个可能的问题是
jbr
子目录中的捆绑运行时已损坏。通过在
IDE\u HOME\jbr\bin
内部运行
java-version
来验证它。重新安装IDE应该会有所帮助

另见a


问题是。

从2020.1起,配置文件夹位于文件夹中


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

只需从以下位置更改系统变量JAVA\u HOME:

JAVA_HOME=C:\Program Files\Java\jre
致:


我喜欢charm(在Windows上)。

我正在使用最新的IntelliJ IDEA终极版,它应该支持Java 11。不幸的是,重新启动并没有解决问题。远程调试有点棘手,但1)向我们显示JAVA_HOME变量。2) 检查它是否在IntelliJ配置文件(3)中未被覆盖作为最后手段,尝试通过配置更改它file@Lesiak更改.JDK文件中的JDK有帮助!谢谢使用JDK下载IntelliJ。这应该是一个好办法box@Thorbjørnravandersen not如果根据更改,并且自定义运行时位置无效,请参阅我的答案以了解更多详细信息。@CrazyCoder True。团队制作了一个“自带jvm”的发行版,这让事情变得更容易,这是值得称赞的!Intellij验证捆绑的JVM文件的完整性是否可行?或者这不是发生的事情?这是一个新问题,我们仍在调查为什么会发生。是的,理想情况下IDE应该验证JVM的完整性,但通过特定于平台的启动器可能会有问题。您确定该文件不是“idea.exe.jdk”(或“idea64.exe.jdk”)…?感谢分享,但它会为公认的答案添加哪些新信息?
JAVA_HOME=C:\Program Files\Java\jdk