简体   繁体   中英

IntelliJ IDEA doesn't start: Cannot load a JDK class: com.sun.jdi.Field

When I try to start IntelliJ I get a popup saying

Cannot load a JDK class: com.sun.jdi.Field 
Please ensure you run the IDE on JDK rather than JRE.

It's really strange because I've pointed the JAVA_HOME and PATH variable to the Java 11 JDK.

This issue occurs if you override the default JetBrains Runtime with some other version, IDE saves the location of this runtime under CONFIG \idea64.exe.jdk file and then this runtime becomes invalid (removed or corrupted) or incompatible with the new IDE version.

The solution is to delete idea64.exe.jdk / idea.exe.jdk file so that IDE is using the default bundled JetBrains Runtime (the file name could be different depending on the product you are using, so the general guide is to delete *.jdk files in the IDE config directory ).

Here is the file that should be deleted for most of the users on Windows:

c:\Users\<user>\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk

The issue occurs when this file points to Java 8 as IntelliJ IDEA no longer runs on Java 8 and is expecting Java 11 instead. Java 11 is already bundled, but this file overrides it, hence the problem.

Please also check this document for the other possible ways to override IDE runtime and make sure none of these is in effect:

IDEA_JDK_64 environment variable may also override the default runtime, you need to unset it.

Another possible issue is that the bundled runtime in jbr subdirectory becomes corrupted. Verify it by running java -version inside IDE_HOME\jbr\bin . Reinstalling IDE should help.

See also a related discussion in IntelliJ IDEA forum .

The issue is being investigated in YouTrack .

Ensure that your IntelliJ version supports running on Java 11 (not just compiling with it). Additionally, if you're using Windows and just defined the JAVA_HOME variable, reboot.

from 2020.1 onwards the configuration folder is located in %APPDATA%/Roaming/JetBrains/<product><version> folder.

I had to delete my *.jdk file in that folder for it to reconfigure itself.

Just change system variable JAVA_HOME from:

JAVA_HOME=C:\Program Files\Java\jre

to:

JAVA_HOME=C:\Program Files\Java\jdk

Works for me like charm (on Windows).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM