web-dev-qa-db-fra.com

IntelliJ Gradle Plugin: le javaHome fourni semble être invalide

Semblable à:
- Intellij 14 le javaHome fourni semble être invalide
- Android Studio - javaHome fourni n'est pas un dossier valide

Cependant, j'essaie d'utiliser ma variable Java_HOME qui est définie sur C:\Program Files\Java\jdk1.8.0_40

Je ne comprends pas pourquoi intellij recherche le JDK dans son répertoire d'installation.

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

IDEA est disponible en 2 versions: 32 bits et 64 bits. 

Votre Java_HOME est une version 64 bits de Java. Vous devez donc exécuter une version 64 bits du IDEA ...\IntelliJ\IntelliJ IDEA Community Edition 14.1.2\bin\idea64.exe

Sinon, vous pouvez fournir un kit JDK 32 bits ou modifier le comportement avec les paramètres IDEA https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK -version-the-IDE-will-run-under

75
Sergii Pechenizkyi

Essayez de définir manuellement un JDK à partir de File > Project Structure > Project > Project SDK, puis reconstruisez.

29
mushfek0001

Cela peut être corrigé en définissant le Projet SDK dans les paramètres du module sur un JDK (par opposition au Module} SDK (qui doit être Android SDK).

10
user39950

J'ai résolu ce problème en mettant le fichier gradle.properties dans le même répertoire que build.gradle avec le chemin exact vers mon JDK:

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

En fait, ce n’est pas une solution correcte, elle devrait probablement être corrigée dans IDE. Je vois dans IDEA des journaux qui ressemblent à quelque chose comme (lorsque j’exécute une tâche de gradation d’un projet déjà importé):

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

Mais lorsque je vais importer un module Gradle dans le projet, je ne vois pas ce genre de message. IDEA transmet probablement le lien au JRE fourni, qui n'est en réalité pas un JDK.

8
4ndrew

Le problème réside dans Intellij IDEA elle-même. Si vous allez dans le répertoire installé d’Intellij, vous trouverez un répertoire jre dans lequel se trouve le/ Java.exe . Mais le problème ici est qu’il n’existe pas de répertoire bin mais qu’un autre répertoire jre est disponible. La solution est donc immédiate. copier tout le contenu du répertoire inner jre et le placer dans le répertoire externe jre

3
Pradyumna Swain

J'ai essayé cela et cela a fonctionné pour moi parfaitement . Allez dans REGLAGE -> SEARCH 'Gradle' ---> et choisissez Gradle JVM et choisissez l'option Utiliser Java_HOME C:\ProgramFiles\Java\JDK\1.8 espérons que cela aide quelqu'un.

2
maheshmnj

J'ai rencontré le même problème pendant un bon bout de temps et peu importe le nombre de forums que j'ai consultés, cela ne résout pas le problème.

Bref, j'ai découvert que mon antivirus a mis en quarantaine le fichier Java.exe. Je vous conseille donc d'ouvrir votre antivirus et de restaurer le fichier Java.exe, puis de relancer les studios Android.

1
Haider Malik

UPDATE Je pense que ce problème a été corrigé le 14.1.3.

Liens de bugs associés: 

Cela dit, j'ai pu utiliser la réponse de @Sergii Pechenizkyi; Cependant, il semble que ce problème a plusieurs solutions différentes.

1
Eric Francis

La mise à niveau de l’IntelliJ UE de la v14.1.1 à la version 14.1.7 a fonctionné pour moi.

0
user6718911

Cela ne fonctionne pas sur Mac à partir de 16.3. Le SDK a été défini correctement dans les paramètres du projet et la boîte de dialogue Gradle ne vous permet plus de sélectionner le JDK. La seule solution qui a fonctionné a été la création du fichier gradle.properties.

0
user7369766

dans IntelliJ 2018.1, j'ai rencontré ce problème car mon SDK de projet était défini sur Kotlin au lieu d'un JDK. Ainsi, malgré le projet Kotlin, celui-ci ne serait construit que si le SDK est un JDK.

0
Kristopher Noronha