Complemento IntelliJ Gradle: el javaHome proporcionado parece no ser válido

98

Similar a:
- Intellij 14, el javaHome suministrado parece no ser válido
- Android Studio - el javaHome suministrado no es una carpeta válida

Sin embargo, estoy tratando de usar mi JAVA_HOMEvariable que está configurada enC:\Program Files\Java\jdk1.8.0_40

No entiendo por qué intellij está buscando el JDK dentro de su directorio de instalación.

En 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
fuente

Respuestas:

76

IDEA viene en 2 versiones: 32 bits y 64 bits.

Su JAVA_HOMEes una versión de 64 bits de Java, por lo que debe ejecutar la versión de 64 bits de IDEA ...\IntelliJ\IntelliJ IDEA Community Edition 14.1.2\bin\idea64.exe.

De lo contrario, puede proporcionar JDK de 32 bits o modificar el comportamiento con la configuración de IDEA https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will- atropellado

Sergii Pechenizkyi
fuente
5
Segii tenía razón sobre mi problema. Pero en mi humilde opinión, el problema está en el instalador de Intellij. Debe tener una pregunta que le permita seleccionar entre ejecutables de 32 bits (Idea.exe) y 64 bits (idea64.exe). Además, el instalador debería poder inspeccionar su sistema y determinar si es un sistema operativo de 32 o 64 bits y seleccionar el .EXE apropiado como predeterminado. Eso aseguraría que cualquier acceso directo creado por el instalado apunte a la versión probablemente correcta.
JerryKur
Después de la instalación, mi acceso directo IntelliJ Idea apuntaba al exe de 32 bits. Actualicé el acceso directo y eso resolvió el problema.
Will Calderwood
Extraño, IdeaJ de 64 bits no se inicia.
arviman
esto no responde nada, no sé por qué es la respuesta principal. el de abajo es mucho mejor.
bharal
207

En mi caso, las respuestas anteriores no funcionaron. Esto es lo que funciona para mí: necesitaba cambiar Gradle JVM para que apunte al JDK real: Imagen que muestra la ventana de configuración de IntelliJ

humazed
fuente
4
Creo que esta es la única respuesta que está realmente relacionada con "intellij gradle plugin". Todas las demás respuestas son irrelevantes.
SOFe
¡Eres un salvavidas!
Esen Mehmet
33

Intente configurar manualmente un JDK desde File > Project Structure > Project > Project SDK, luego reconstruir.

mushfek0001
fuente
14

Esto se puede solucionar configurando el SDK del proyecto en la configuración del módulo en un JDK (a diferencia del SDK del módulo (que será el SDK de Android )

usuario39950
fuente
¡Esto me estaba subiendo a un árbol! Sin embargo, su respuesta tenía perfecto sentido: Gradle había estado tratando de encontrar java.exe en el SDK de Android (¡como si!).
JoeHz
en mi caso esta respuesta resolvió mi problema, ¡gracias por tu respuesta!
mergenchik
11

Probé esto y funcionó perfectamente para mí. vaya a CONFIGURACIÓN -> BÚSQUEDA 'Gradle' ---> y elija Gradle JVM y elija la opción Usar JAVA_HOME C: \ ProgramFiles \ Java \ JDK \ 1.8 espero que esto ayude a alguien.

maheshmnj
fuente
9

Resolví este problema colocando el archivo gradle.properties en el mismo directorio que build.gradle con la ruta exacta a mi JDK:

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

En realidad, no es una solución correcta, probablemente debería arreglarse en IDE, veo en los registros de IDEA algo como (cuando ejecuto la tarea gradle de un proyecto ya importado):

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

Pero cuando voy a importar el módulo gradle al proyecto, no veo ese tipo de mensaje, probablemente IDEA pasa el enlace al JRE incluido, que en realidad no es un JDK.

4ndrew
fuente
4

El problema radica en Intellij IDEA en sí. Si va al directorio instalado de Intellij, encontrará un directorio jre donde está buscando el java.exe mencionado anteriormente . Pero el problema aquí es que no hay un directorio bin aquí en lugar de otro directorio jre disponible, por lo que la solución es por adelantado. copie todo el contenido del directorio jre interno y colóquelo en el directorio jre externo .

Pradyumna Swain
fuente
2

En OSX 10.12.x, Intellij v16.3, tuve que entrar en:

  1. ~ / Biblioteca / Preferencias / IntelliJIdea2016.3
  2. Cree un archivo llamado: idea.jdk
  3. Agregue lo siguiente: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk (o cualquier JDK que haya instalado

Esta fue una solución que tuve que hacer en la v16 de Intellij que se encuentra en el sitio de jetbrains. En un momento tuve que eliminarlo, en la actualización a 16.3 tuve que volver a agregarlo. https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

dkochheiser
fuente
2

Encontré el mismo problema durante bastante tiempo y no importa cuántos foros miré, simplemente no resolvió el problema.

En pocas palabras, descubrí que mi antivirus puso en cuarentena el archivo java.exe. Así que le aconsejo que abra su antivirus y restaure el archivo Java.exe y luego reinicie Android Studios.

Haider Malik
fuente
1

Actualizar IntelliJ UE de v14.1.1 a 14.1.7 funcionó para mí.

usuario6718911
fuente
1

No funciona en Mac a partir de la versión 16.3. El SDK se configuró correctamente en la Configuración del proyecto y el cuadro de diálogo de Gradle ya no le permite seleccionar el JDK. La única solución que funcionó fue crear el archivo gradle.properties.

usuario7369766
fuente
1

en IntelliJ 2018.1, me encontré con este problema porque el SDK de mi proyecto estaba configurado en Kotlin en lugar de un JDK. Entonces, a pesar de tener un proyecto de Kotlin, solo se compilaría si el SDK es un JDK.

Kristopher Noronha
fuente
0

Después de probar toda la solución anterior, nada funcionó para mí. Luego miré si la ruta "Use project jdk" para Java es correcta. Para verlo en Archivo-> configuración-> gradle-> gradle jvm , encontré que jdk se actualizó y gradle estaba usando la versión antigua de jdk. Entonces, la solución fue actualizar la ruta del Proyecto jdk para java en intellij. Archivo-> estructura del proyecto-> Configuración de la plataforma-> SDK , aquí actualice su ruta jdk correcta. así el problema se resolvió para mí.

Akanksha gore
fuente