IntelliJ IDEA nie uruchamia się: nie można załadować klasy JDK: com.sun.jdi.Field

13

Kiedy próbuję uruchomić IntelliJ, pojawia się wyskakujące okienko

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

To naprawdę dziwne, ponieważ wskazałem JAVA_HOMEi PATHzmienną na JDK Java 11.

Cerus
źródło
Rodzaj pf jest trudny do zdalnego debugowania, ale 1) pokaż nam swoją zmienną JAVA_HOME. 2) Sprawdź, czy nie jest nadpisane w pliku konfiguracyjnym IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) w ostateczności, spróbuj zmienić go za pomocą pliku konfiguracyjnego
Lesiak
@Lesiak Zmiana JDK w pliku .jdk pomogła! Dzięki!
Cerus
Pobierz IntelliJ z JDK. Powinno to działać po wyjęciu z pudełka
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen nie, jeśli został zmieniony według intellij-support.jetbrains.com/hc/articles/206544879, a niestandardowa lokalizacja środowiska wykonawczego stała się nieprawidłowa, zobacz moją odpowiedź, aby uzyskać więcej informacji.
CrazyCoder
@CrazyCoder True. Wyrazy uznania dla zespołu za stworzenie dystrybucji „przynosi własny plik Jvm” - to znacznie ułatwia!
Thorbjørn Ravn Andersen

Odpowiedzi:

28

Ten problem występuje, jeśli zastąpisz domyślny środowisko wykonawcze JetBrains w innej wersji, IDE zapisuje lokalizację tego środowiska wykonawczego w pliku CONFIG\idea64.exe.jdk , a następnie środowisko wykonawcze stanie się nieprawidłowe (usunięte lub uszkodzone) lub niezgodne z nową wersją IDE.

Rozwiązaniem jest usunięcie idea64.exe.jdk/ idea.exe.jdkplik, aby IDE używało domyślnego pakietu JetBrains Runtime (nazwa pliku może być różna w zależności od używanego produktu, więc ogólny przewodnik to usuwanie *.jdkplików w katalogu konfiguracyjnym IDE ).

Oto plik, który powinien zostać usunięty dla większości użytkowników systemu Windows:

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

Problem występuje, gdy plik wskazuje Java 8, ponieważ IntelliJ IDEA nie działa już na Javie 8 i zamiast tego oczekuje Java 11. Java 11 jest już w pakiecie, ale ten plik zastępuje go, stąd problem.

Sprawdź również ten dokument pod kątem innych możliwych sposobów zastąpienia środowiska wykonawczego IDE i upewnij się, że żaden z nich nie działa:

IDEA_JDK_64 zmienna środowiskowa może również przesłonić domyślny środowisko uruchomieniowe, musisz go rozbroić.

Innym możliwym problemem jest jbruszkodzenie dołączonego środowiska wykonawczego w podkatalogu. Sprawdź to, uruchamiając się w java -versionśrodku IDE_HOME\jbr\bin. Ponowna instalacja IDE powinna pomóc.

Zobacz także pokrewną dyskusję na forum IntelliJ IDEA .

Problem jest badany w YouTrack .

CrazyCoder
źródło
Czy byłoby możliwe, aby Intellij weryfikował integralność dołączonych plików JVM? A może to się nie dzieje?
Thorbjørn Ravn Andersen
To nowy problem i wciąż badamy, dlaczego tak się dzieje. Tak, idealnie IDE powinno weryfikować integralność JVM, ale może to być problematyczne za pośrednictwem programów uruchamiających specyficznych dla platformy.
CrazyCoder
Czy na pewno nie ma pliku „idea.exe.jdk” (lub „idea64.exe.jdk”) ...?
Jaroslav Záruba
1
@ JaroslavZáruba zaktualizował odpowiedź.
CrazyCoder
1

Upewnij się, że Twoja wersja IntelliJ obsługuje Javę 11 (nie tylko kompilując się z nią). Ponadto, jeśli używasz systemu Windows i właśnie zdefiniowałeś zmienną JAVA_HOME, uruchom ponownie.

Jorge Yanes Diez
źródło
Używam najnowszej wersji IntelliJ IDEA Ultimate, która powinna obsługiwać Javę 11. Ponowne uruchomienie nie rozwiązało problemu niestety.
Cerus
1

od wersji 2020.1 folder konfiguracji znajduje się w %APPDATA%/Roaming/JetBrains/<product><version>folderze.

Musiałem usunąć plik * .jdk z tego folderu, aby sam się zrekonfigurować.

coderatchet
źródło
Dziękujemy za udostępnienie, ale jakie nowe informacje dodaje do zaakceptowanej odpowiedzi?
CrazyCoder