Cerus
Cerus

Reputation: 141

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.

Upvotes: 14

Views: 10161

Answers (5)

Tapa Save
Tapa Save

Reputation: 4857

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).

Upvotes: 0

coderatchet
coderatchet

Reputation: 8420

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.

Upvotes: 1

CrazyCoder
CrazyCoder

Reputation: 402185

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.

Upvotes: 32

Lesiak
Lesiak

Reputation: 26036

Upvotes: 0

Jorge Yanes Diez
Jorge Yanes Diez

Reputation: 479

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.

Upvotes: 1

Related Questions