O IntelliJ IDEA não inicia: Não é possível carregar uma classe JDK: com.sun.jdi.Field

13

Quando tento iniciar o IntelliJ, recebo um pop-up dizendo

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

É realmente estranho, porque eu apontei a variável JAVA_HOMEe PATHpara o Java 11 JDK.

Cerus
fonte
Tipo de coisa complicada para depurar remotamente, mas 1) nos mostra sua variável JAVA_HOME. 2) Verifique se não está anulado no arquivo de configuração do IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) como último recurso, tente alterá-lo pelo arquivo de configuração
Lesiak
@Lesiak A alteração do JDK no arquivo .jdk ajudou! Obrigado!
Cerus 10/04
Faça o download do IntelliJ com um JDK. Isso deve funcionar
imediatamente
@ ThorbjørnRavnAndersen não se foi alterado por intellij-support.jetbrains.com/hc/articles/206544879 e o local de tempo de execução personalizado se tornou inválido, consulte minha resposta para obter mais detalhes.
CrazyCoder 10/04
@CrazyCoder True. Parabéns à equipe por fazer uma distribuição "bring own jvm" - isso facilita muito as coisas!
Thorbjørn Ravn Andersen

Respostas:

28

Esse problema ocorre se você substituir o JetBrains Runtime padrão por outra versão, o IDE salva o local desse tempo de execução no arquivo CONFIG\idea64.exe.jdk e, em seguida, esse tempo de execução se torna inválido (removido ou corrompido) ou incompatível com a nova versão do IDE.

A solução é excluir idea64.exe.jdk/ idea.exe.jdkarquivo para que o IDE use o JetBrains Runtime padrão fornecido (o nome do arquivo pode ser diferente dependendo do produto que você está usando, portanto, o guia geral é para excluir *.jdkarquivos no diretório de configuração do IDE ).

Aqui está o arquivo que deve ser excluído para a maioria dos usuários no Windows:

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

O problema ocorre quando esse arquivo aponta para o Java 8, pois o IntelliJ IDEA não é mais executado no Java 8 e está esperando o Java 11. O Java 11 já está incluído no pacote, mas esse arquivo o substitui, daí o problema.

Verifique também este documento para outras formas possíveis de substituir o tempo de execução do IDE e verifique se nenhuma delas está em vigor:

IDEA_JDK_64 variável de ambiente também pode substituir o tempo de execução padrão, é necessário desmarcá-lo.

Outro problema possível é que o tempo de execução do pacote no jbrsubdiretório fica corrompido. Verifique executando java -versiondentro IDE_HOME\jbr\bin. Reinstalar o IDE deve ajudar.

Consulte também uma discussão relacionada no fórum IntelliJ IDEA .

O problema está sendo investigado no YouTrack .

CrazyCoder
fonte
Seria possível que o Intellij verifique a integridade dos arquivos JVM em pacote configurável? Ou isso não é algo que acontece?
Thorbjørn Ravn Andersen
É uma questão nova e ainda estamos investigando por que isso acontece. Sim, o IDE ideal deve verificar a integridade da JVM, mas pode ser problemático por meio dos ativadores específicos da plataforma.
CrazyCoder 10/04
Você tem certeza de que o arquivo não é "idea.exe.jdk" (ou "idea64.exe.jdk") ...?
Jaroslav Záruba
11
@ JaroslavZáruba atualizou a resposta.
CrazyCoder 10/04
1

Assegure-se de que sua versão do IntelliJ suporte a execução no Java 11 (não apenas compilando com ele). Além disso, se você estiver usando o Windows e acabou de definir a variável JAVA_HOME, reinicie.

Jorge Yanes Diez
fonte
Estou usando a versão mais recente do IntelliJ IDEA Ultimate, que deve oferecer suporte ao Java 11. Infelizmente, a reinicialização não resolveu o problema.
Cerus 10/04
1

a partir de 2020.1, a pasta de configuração está localizada na %APPDATA%/Roaming/JetBrains/<product><version>pasta

Eu tive que excluir meu arquivo * .jdk nessa pasta para que ele se reconfigurasse.

coderatchet
fonte
Obrigado por compartilhar, mas que novas informações são adicionadas à resposta aceita?
CrazyCoder 15/04