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
...
Eric Francis
fonte

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

Sergii Pechenizkyi
fonte
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

humazed
fonte
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.

Mushfek0001
fonte
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)

user39950
fonte
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.

maheshmnj
fonte
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.

4ndrew
fonte
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 .

Pradyumna Swain
fonte
2

ATUALIZAR Eu acredito que este problema foi corrigido em 14.1.3

Links de bug relacionados:

Dito isso, consegui usar a resposta de @Sergii Pechenizkyi; no entanto, parece que esse problema tem algumas soluções diferentes.

Eric Francis
fonte
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

dkochheiser
fonte
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.

Haider Malik
fonte
1

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

user6718911
fonte
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.

user7369766
fonte
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.

Kristopher Noronha
fonte
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.

Akanksha gore
fonte