IntelliJ IDEA non si avvia: Impossibile caricare una classe JDK: com.sun.jdi.Field


13

Quando provo ad avviare IntelliJ, viene visualizzato un popup

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

È davvero strano perché ho indicato la JAVA_HOMEe la PATHvariabile su Java 11 JDK.


Gentile cosa difficile da eseguire il debug in remoto ma 1) mostraci la tua variabile JAVA_HOME. 2) Controlla se non viene sostituito nel file di configurazione IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) come ultima risorsa, prova a modificarlo tramite il file di configurazione
Lesiak

@Lesiak La modifica del JDK nel file .jdk ha aiutato! Grazie!
Cerus,

Scarica IntelliJ con un JDK. Questo dovrebbe funzionare fuori dagli schemi
Thorbjørn Ravn Andersen il

@ ThorbjørnRavnAndersen non se è stato modificato da intellij-support.jetbrains.com/hc/articles/206544879 e il percorso di runtime personalizzato non è più valido, vedere la mia risposta per ulteriori dettagli.
CrazyCoder il

@CrazyCoder True. Complimenti al team per aver fatto una distribuzione "porta la propria jvm" - rende le cose molto più facili!
Thorbjørn Ravn Andersen,

Risposte:


28

Questo problema si verifica se si sovrascrive il JetBrains Runtime predefinito con un'altra versione, IDE salva la posizione di questo runtime nel file CONFIG\idea64.exe.jdk e quindi questo runtime diventa non valido (rimosso o danneggiato) o incompatibile con la nuova versione IDE.

La soluzione è eliminare idea64.exe.jdk/ idea.exe.jdkfile in modo che IDE utilizzi JetBrains Runtime predefinito in bundle (il nome del file potrebbe essere diverso a seconda del prodotto in uso, quindi la guida generale è eliminare i *.jdkfile nella directory di configurazione IDE ).

Ecco il file che dovrebbe essere eliminato per la maggior parte degli utenti su Windows:

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

Il problema si verifica quando questo file punta a Java 8 poiché IntelliJ IDEA non funziona più su Java 8 e prevede invece Java 11. Java 11 è già in bundle, ma questo file lo sovrascrive, quindi il problema.

Controllare anche questo documento per gli altri modi possibili per sovrascrivere il runtime IDE e assicurarsi che nessuno di questi sia attivo:

IDEA_JDK_64 la variabile di ambiente può anche sovrascrivere il runtime predefinito, è necessario annullarlo.

Un altro possibile problema è che il runtime in bundle nella jbrsottodirectory viene danneggiato. Verifica eseguendo java -versionall'interno IDE_HOME\jbr\bin. Reinstallare IDE dovrebbe aiutare.

Vedi anche una discussione correlata nel forum IDEA di IntelliJ .

Il problema è stato esaminato in YouTrack .


Sarebbe possibile che Intellij verifichi l'integrità dei file JVM in bundle? O non è qualcosa che succede?
Thorbjørn Ravn Andersen,

È un nuovo problema e stiamo ancora indagando sul perché accada. Sì, idealmente IDE dovrebbe verificare l'integrità della JVM, ma potrebbe essere problematica tramite i lanciatori specifici della piattaforma.
CrazyCoder il

Sei sicuro che il file non sia "idea.exe.jdk" (o "idea64.exe.jdk") ...?
Jaroslav Záruba,

1
@ JaroslavZáruba ha aggiornato la risposta.
CrazyCoder

1

Assicurarsi che la versione di IntelliJ supporti l'esecuzione su Java 11 (non solo la compilazione con esso). Inoltre, se stai utilizzando Windows e hai appena definito la variabile JAVA_HOME, riavvia.


Sto usando l'ultima versione di IntelliJ IDEA Ultimate che dovrebbe supportare Java 11. Purtroppo un riavvio non ha risolto il problema.
Cerus,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.