Plug-in IntelliJ Gradle: o javaHome fornecido parece ser inválido


98

Semelhante a:
- Intellij 14 o javaHome fornecido parece ser inválido
- Android Studio - javaHome fornecido não é uma pasta válida

No entanto, estou tentando usar minha JAVA_HOMEvariável, que está definida comoC:\Program Files\Java\jdk1.8.0_40

Não entendo por que o intellij está procurando o JDK dentro de seu diretório de instalação.

In intellij:

Executing external task 'bootRun'...
The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1\jre\bin\java.exe
External task execution finished 'bootRun'.

C:\>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

C:>env
...
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
...

Respostas:


76

IDEA vem em 2 versões: 32 bits e 64 bits.

Você JAVA_HOMEé a versão de 64 bits do Java, então você precisa executar a versão de 64 bits do IDEA ...\IntelliJ\IntelliJ IDEA Community Edition 14.1.2\bin\idea64.exe.

Caso contrário, você pode fornecer JDK de 32 bits ou ajustar o comportamento com as configurações IDEA https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will- atropelar


5
Segii estava certo sobre o meu problema. Mas IMHO o problema está no instalador Intellij. Ele precisa ter uma pergunta que permita selecionar entre executáveis ​​de 32 bits (Idea.exe) e 64 bits (idea64.exe). Além disso, o instalador deve ser capaz de inspecionar seu sistema e determinar se ele é um sistema operacional de 32 ou 64 bits e selecionar o .EXE apropriado como padrão. Isso garantiria que todos os atalhos criados pelo instalado apontassem para a versão provavelmente correta.
JerryKur

Após a instalação, meu atalho do IntelliJ Idea apontava para o exe de 32 bits. Eu atualizei o atalho e isso resolveu o problema.
Will Calderwood

Estranho, o IdeaJ de 64 bits não inicia.
arviman

isso não responde a nada, idk porque é a resposta principal. o que está abaixo é muito melhor.
bharal

207

No meu caso, as respostas acima não funcionaram. Aqui está o que funciona para mim: eu precisava alterar o Gradle JVM para apontar para o JDK real: Imagem mostrando a janela de configurações do IntelliJ


4
Acho que esta é a única resposta realmente relacionada ao "plugin do intellij gradle". Todas as outras respostas são irrelevantes.
SOFe

Você é o salva-vidas!
Esen Mehmet

33

Tente configurar manualmente um JDK de File > Project Structure > Project > Project SDK, Em seguida, reconstrua.


14

Isso pode ser corrigido definindo o SDK do projeto nas configurações do módulo para um JDK (em oposição ao SDK do módulo (que deve ser Android SDK)


Isso estava me levando para cima de uma árvore! No entanto, sua resposta fez todo o sentido: o Gradle estava tentando encontrar o java.exe no SDK do Android (como se!).
JoeHz

no meu caso esta resposta resolveu meu problema, obrigado pela sua resposta!
mergenchik

11

Eu tentei isso e funcionou perfeitamente para mim. vá para CONFIGURAÇÃO -> PESQUISAR 'Gradle' ---> e escolha Gradle JVM e escolha a opção Usar JAVA_HOME C: \ ProgramFiles \ Java \ JDK \ 1.8 espero que isso ajude alguém.


9

Resolvi esse problema colocando o arquivo gradle.properties no mesmo diretório que build.gradle com o caminho exato para meu JDK:

org.gradle.java.home = C:/Dev/JDK

Na verdade não é uma solução correta, provavelmente deve ser corrigida no IDE, vejo nos logs do IDEA algo como (quando executo a tarefa gradle de um projeto já importado):

INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from C:/Dev/JDK

Mas quando vou importar o módulo gradle para o projeto, não vejo esse tipo de mensagem, provavelmente o IDEA passa o link para o JRE empacotado, que na verdade não é um JDK.


4

O problema está no próprio Intellij IDEA. Se você for ao diretório de instalação do Intellij, encontrará um diretório jre onde está procurando o java.exe mencionado acima . Mas o problema aqui é que não há diretório bin aqui, em vez de outro diretório jre disponível. Portanto , a solução é antecipada. copie todo o conteúdo do diretório jre interno e coloque-o no diretório jre externo .



2

No OSX 10.12.x, Intellij v16.3, tive que entrar em:

  1. ~ / Library / Preferences / IntelliJIdea2016.3
  2. Crie um arquivo chamado: idea.jdk
  3. Adicione o seguinte a ele: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk (ou qualquer JDK que você instalou

Esta foi uma correção que tive que fazer na v16 do Intellij encontrada no site da jetbrains. Em um ponto eu tive que removê-lo, na atualização para 16.3 eu tive que adicioná-lo de volta. https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under


2

Eu encontrei o mesmo problema por um bom tempo e não importa quantos fóruns eu olhei para ele simplesmente não resolveu o problema.

Para encurtar a história, descobri que meu antivírus colocou o arquivo java.exe em quarentena. Portanto, aconselho você a abrir seu antivírus e restaurar o arquivo Java.exe e, em seguida, reiniciar o Android Studios.


1

Atualizar o IntelliJ UE de v14.1.1 para 14.1.7 funcionou para mim.


1

Não está funcionando no Mac a partir de 16.3. O SDK foi configurado corretamente em Configurações do projeto e a caixa de diálogo Gradle não permite mais a seleção do JDK. A única solução que funcionou foi criar o arquivo gradle.properties.


1

no IntelliJ 2018.1, tive esse problema porque o SDK do meu projeto foi definido como Kotlin em vez de JDK. Portanto, apesar de ter um projeto Kotlin, ele só seria compilado se o SDK for um JDK.


0

Depois de tentar todas as soluções acima, nada funcionou para mim. Então eu olhei se o caminho "Use project jdk" para java está correto. Para olhar em Arquivo-> configurações-> gradle-> gradle jvm , descobri que o jdk foi atualizado e o gradle estava usando a versão antiga do jdk. Portanto, a solução foi atualizar o caminho do projeto jdk para java no intellij. Arquivo-> estrutura do projeto-> Configuração da plataforma-> SDK , atualize aqui o seu caminho jdk correto. assim, o problema foi resolvido para mim.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.