【问题标题】:IntelliJ IDEA doesn't start: Cannot load a JDK class: com.sun.jdi.FieldIntelliJ IDEA 无法启动:无法加载 JDK 类:com.sun.jdi.Field
【发布时间】:2020-07-23 11:56:27
【问题描述】:

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

【问题讨论】:

  • 远程调试有点棘手,但是 1) 向我们展示您的 JAVA_HOME 变量。 2) 检查 IntelliJ 配置文件 jetbrains.com/help/idea/switching-boot-jdk.html 中是否没有覆盖它 3) 作为最后的手段,尝试通过配置文件进行更改
  • @Lesiak 更改 .jdk 文件中的 JDK 有帮助!谢谢!
  • 下载 IntelliJ with JDK。这应该是开箱即用的
  • @ThorbjørnRavnAndersen 不是如果根据intellij-support.jetbrains.com/hc/articles/206544879 更改并且自定义运行时位置无效,请参阅我的答案以了解更多详细信息。
  • @CrazyCoder 是的。感谢团队制作“自带 jvm”发行版 - 它让事情变得更容易!

标签: java intellij-idea jetbrains-ide


【解决方案1】:

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

解决方法是删除idea64.exe.jdk/idea.exe.jdk文件,让IDE使用默认捆绑的JetBrains Runtime(文件名可能因您使用的产品而异,所以一般指导是删除@987654329 @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 子目录中的捆绑运行时已损坏。通过在IDE_HOME\jbr\bin 中运行java -version 来验证它。重新安装 IDE 应该会有所帮助。

另请参阅related discussion in IntelliJ IDEA forum

问题是being investigated in YouTrack

【讨论】:

  • Intellij 验证捆绑的 JVM 文件的完整性是否可行?或者这不是发生的事情?
  • 这是一个新问题,我们仍在调查它发生的原因。是的,理想情况下 IDE 应该验证 JVM 的完整性,但通过特定于平台的启动器可能会出现问题。
  • 您确定文件不是“idea.exe.jdk”(或“idea64.exe.jdk”)...?
【解决方案2】:

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

【讨论】:

  • 我正在使用最新的 IntelliJ IDEA Ultimate 版本,它应该支持 Java 11。不幸的是,重启并没有解决问题。
【解决方案3】:

从 2020.1 起,配置文件夹位于 %APPDATA%/Roaming/JetBrains/&lt;product&gt;&lt;version&gt; 文件夹中。

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

【讨论】:

  • 感谢分享,但它为接受的答案添加了哪些新信息?
【解决方案4】:

【讨论】:

    【解决方案5】:

    只需从以下位置更改系统变量 JAVA_HOME:

    JAVA_HOME=C:\Program Files\Java\jre
    

    到:

    JAVA_HOME=C:\Program Files\Java\jdk
    

    像魅力一样为我工作(在 Windows 上)。

    【讨论】:

      猜你喜欢
      • 2015-10-21
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多