IntelliJ IDEA не запускается: невозможно загрузить класс JDK: com.sun.jdi.Field


13

Когда я пытаюсь запустить 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.


Вроде бы сложная вещь для удаленной отладки, но 1) покажите нам свою переменную JAVA_HOME. 2) Проверьте, не переопределен ли он в конфигурационном файле IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) в качестве крайней меры, попробуйте изменить его через конфигурационный файл
Lesiak

@Lesiak Помогло изменение JDK в файле .jdk! Спасибо!
Церус

Скачать IntelliJ с JDK. Это должно работать из коробки
Торбьерн Равн Андерсен

@ ThorbjørnRavnAndersen нет, если он был изменен в соответствии с intellij-support.jetbrains.com/hc/articles/206544879 и пользовательское местоположение среды выполнения стало недействительным, см. Мой ответ для получения дополнительной информации.
CrazyCoder

@CrazyCoder Правда. Слава команде за создание дистрибутива "приносит собственный jvm" - это делает вещи намного проще!
Торбьерн Равн Андерсен

Ответы:


28

Эта проблема возникает, если переопределить среду выполнения JetBrains по умолчанию с какой-либо другой версией, IDE сохраняет расположение этой среды выполнения в файле CONFIG,\idea64.exe.jdk а затем эта среда выполнения становится недействительной (удаленной или поврежденной) или несовместимой с новой версией IDE.

Решение состоит в том, чтобы удалить idea64.exe.jdk/ idea.exe.jdkfile, чтобы в IDE использовалась стандартная среда выполнения JetBrains (имя файла может отличаться в зависимости от используемого вами продукта, поэтому общее руководство заключается в удалении *.jdkфайлов в каталоге конфигурации IDE ).

Вот файл, который следует удалить для большинства пользователей Windows:

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

Проблема возникает, когда этот файл указывает на Java 8, поскольку IntelliJ IDEA больше не работает на Java 8 и вместо этого ожидает Java 11. Java 11 уже в комплекте, но этот файл переопределяет его, поэтому проблема.

Также проверьте этот документ на предмет других возможных способов переопределения среды выполнения IDE и убедитесь, что ни один из них не действует:

IDEA_JDK_64 Переменная окружения также может переопределить среду выполнения по умолчанию, вам нужно ее сбросить.

Другая возможная проблема заключается в том, что связанная среда выполнения в jbrподкаталоге становится поврежденной. Проверьте это, запустив java -versionвнутрь IDE_HOME\jbr\bin. Переустановка IDE должна помочь.

Смотрите также соответствующее обсуждение на форуме IntelliJ IDEA .

Проблема исследуется в YouTrack .


Возможно ли, чтобы Intellij проверял целостность связанных файлов JVM? Или это не то, что происходит?
Торбьерн Равн Андерсен

Это новая проблема, и мы все еще расследуем, почему это происходит. Да, в идеале IDE должна проверять целостность JVM, но это может быть проблематично с помощью программ запуска, специфичных для платформы.
CrazyCoder

Вы уверены, что файл не "idea.exe.jdk" (или "idea64.exe.jdk") ...?
Ярослав Заруба

1
@ JaroslavZáruba обновил ответ.
CrazyCoder

1

Убедитесь, что ваша версия IntelliJ поддерживает работу на Java 11 (а не только компиляцию с ней). Кроме того, если вы используете Windows и только что определили переменную JAVA_HOME, перезагрузите компьютер.


Я использую последнюю версию IntelliJ IDEA Ultimate, которая должна поддерживать Java 11. К сожалению, перезагрузка не устранила проблему.
Церус

1

с 2020.1 года папка конфигурации находится в %APPDATA%/Roaming/JetBrains/<product><version>папке.

Мне пришлось удалить файл * .jdk в этой папке, чтобы он сам себя перенастроил.


Спасибо за обмен, но какую новую информацию он добавляет к принятому ответу?
CrazyCoder

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.