IntelliJ IDEA no se inicia: no se puede cargar una clase JDK: com.sun.jdi.Field

13

Cuando intento iniciar IntelliJ, aparece un mensaje emergente que dice

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

Es realmente extraño porque he señalado la variable JAVA_HOMEy PATHal Java 11 JDK.

Cerus
fuente
Es algo difícil de depurar de forma remota, pero 1) muéstranos tu variable JAVA_HOME. 2) Verifique si no se anula en el archivo de configuración IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) como último recurso, intente cambiarlo a través del archivo de configuración
Lesiak
@Lesiak ¡Cambiar el JDK en el archivo .jdk ayudó! ¡Gracias!
Cerus
Descargue IntelliJ con un JDK. Esto debería salir de la caja
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen no se modificó por intellij-support.jetbrains.com/hc/articles/206544879 y la ubicación de tiempo de ejecución personalizada se volvió inválida, consulte mi respuesta para obtener más detalles.
CrazyCoder
@CrazyCoder True. Felicitaciones al equipo por hacer una distribución "trae su propio jvm" - ¡hace las cosas mucho más fáciles!
Thorbjørn Ravn Andersen

Respuestas:

28

Este problema ocurre si anula el tiempo de ejecución predeterminado de JetBrains con alguna otra versión, IDE guarda la ubicación de este tiempo de ejecución en el archivo CONFIG\idea64.exe.jdk y luego este tiempo de ejecución se vuelve inválido (eliminado o dañado) o incompatible con la nueva versión IDE.

La solución es eliminar idea64.exe.jdk/ idea.exe.jdkarchivo para que IDE esté usando el JetBrains Runtime incluido por defecto (el nombre del archivo puede ser diferente dependiendo del producto que esté utilizando, por lo que la guía general es eliminar *.jdkarchivos en el directorio de configuración IDE ).

Aquí está el archivo que debe eliminarse para la mayoría de los usuarios de Windows:

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

El problema ocurre cuando este archivo apunta a Java 8 ya que IntelliJ IDEA ya no se ejecuta en Java 8 y en su lugar espera Java 11. Java 11 ya está incluido, pero este archivo lo anula, de ahí el problema.

Consulte también este documento para conocer las otras formas posibles de anular el tiempo de ejecución IDE y asegúrese de que ninguna de estas esté vigente:

IDEA_JDK_64 La variable de entorno también puede anular el tiempo de ejecución predeterminado, debe deshabilitarlo.

Otro posible problema es que el tiempo de ejecución incluido en el jbrsubdirectorio se corrompe. Verifíquelo corriendo java -versionadentro IDE_HOME\jbr\bin. Reinstalar IDE debería ayudar.

Vea también una discusión relacionada en el foro IntelliJ IDEA .

El problema se está investigando en YouTrack .

CrazyCoder
fuente
¿Sería factible que Intellij verifique la integridad de los archivos JVM incluidos? ¿O no es esto algo que sucede?
Thorbjørn Ravn Andersen
Es un problema nuevo y todavía estamos investigando por qué sucede. Sí, idealmente IDE debería verificar la integridad de la JVM, pero puede ser problemático a través de los lanzadores específicos de la plataforma.
CrazyCoder
¿Está seguro de que el archivo no es "idea.exe.jdk" (o "idea64.exe.jdk") ...?
Jaroslav Záruba
1
@ JaroslavZáruba actualizó la respuesta.
CrazyCoder
1

Asegúrese de que su versión IntelliJ sea compatible con Java 11 (no solo compilar con él). Además, si está utilizando Windows y acaba de definir la variable JAVA_HOME, reinicie.

Jorge Yanes Diez
fuente
Estoy usando la última versión de IntelliJ IDEA Ultimate que debería ser compatible con Java 11. Desafortunadamente, un reinicio no solucionó el problema.
Cerus
1

desde 2020.1 en adelante, la carpeta de configuración se encuentra en la %APPDATA%/Roaming/JetBrains/<product><version>carpeta.

Tuve que eliminar mi archivo * .jdk en esa carpeta para que se reconfigurara.

coderatchet
fuente
Gracias por compartir, pero ¿qué información nueva agrega a la respuesta aceptada?
CrazyCoder