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.


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

@Lesiak Зміна JDK у файлі .jdk допомогла! Дякую!
Серус

Завантажте IntelliJ за допомогою JDK. Це повинно вийти з поля
Thorbjørn Ravn Andersen

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

@ CrazyCoder Правда. Кудо команді для створення "приносить власний jvm" розподіл - це значно полегшує справи!
Thorbjørn Ravn Andersen

Відповіді:


28

Ця проблема виникає, якщо ви заміните стандартну програму JetBrains Runtime за допомогою іншої версії, IDE зберігає розташування цього часу виконання у файлі CONFIG,\idea64.exe.jdk і тоді цей час виконання стає недійсним (видалено або пошкоджено) або несумісним з новою версією IDE.

Рішення полягає в тому, щоб видалити idea64.exe.jdk/ idea.exe.jdkфайл таким чином, щоб IDE використовував пакет за замовчуванням JetBrains Runtime (назва файлу може бути різним залежно від продукту, який ви використовуєте, тому загальне керівництво - видалення *.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? Або це не те, що відбувається?
Thorbjørn Ravn Andersen

Це нове питання, і ми все ще досліджуємо, чому це відбувається. Так, в ідеалі 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. Перезавантаження, на жаль, не усунула проблему.
Серус


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.