web-dev-qa-db-fra.com

Conflit de contexte d'erreur de construction IntelliJ

Je souhaite utiliser IntelliJ IDEA 15 à la place d'Android Studio, mais j'ai un problème de construction. Je reçois l'erreur suivante:

Gradle sync failed: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch: 
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\jre,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=1224,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
Actual: DefaultDaemonContext[uid=6fd89265-5686-4337-a75f-538209464d3a,javaHome=C:\Program Files\Java\jdk1.8.0_74,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=14128,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]

Quelle est mon erreur? Comme vous pouvez le voir sur les images suivantes, tout est configuré correctement.

J'ai configuré un JDK et les outils Android comme suit:

 Project  SDK2  SDK1

47
timia2109

J'ai trouvé cette question tout en enquêtant sur un problème similaire, et j'ai résolu le mien, alors peut-être que mon expérience aidera.

Observations

Mon problème était similaire au vôtre en ce que le contexte Wanted avait javaHome comme chemin d'accès au JRE incorporé dans le dossier d'installation IDEA et que le contexte Actual l'avait comme première version de Java sur mon chemin. J'ai trouvé plusieurs rapports d'erreur similaires en ligne, mais aucun d'entre eux n'avait le JRE intégré IDEA en tant que version Wanted.

La version Java Wanted était une installation de JRE à l’échelle du système, et non le JDK que j’avais configuré pour le projet, ni la valeur définie pour Java_HOME, ce qui me rendait très méfiant (et confus). En réorganisant mon chemin, il a utilisé une autre version "non désirée" de Java. Il utilisait donc clairement le chemin pour choisir le type de programme à exécuter, mais nous ne savions pas pourquoi. Je ne pouvais pas faire en sorte que le JRE intégré d’IntelliJ soit le premier sur mon chemin, car j’avais besoin de cela pour devenir le JDK pour diverses raisons; j’avais donc besoin d’une autre solution.

J'ai également remarqué (à l'aide de Process Explorer, depuis Windows) que, dans le cas de la défaillance, IntelliJ avait lancé un certain nombre de processus démon Java.exe Gradle et qu'il n'y avait aucun processus démon en cours d'exécution avant d'essayer de démarrer ma construction.

Solution

La cause s’est avérée être que j’avais défini une nouvelle configuration dans la boîte de dialogue "Configurations Exécuter/Déboguer" et placer le chemin complet du fichier build.gradle dans le champ Gradle project:, comme suit. (Je l'ai fait en cliquant sur le bouton Ellipsis (...) à droite du champ, mais j'aurais aussi pu le saisir directement.)

 Run/Debug Configurations dialog showing Gradle project as an explicit path to a Gradle build file

Cependant, ce que j’aurais dû faire, c’était de suivre le schéma des configurations existantes, où le Gradle project: était spécifié comme "projet enregistré", en cliquant sur l’icône "dossier" située à droite du champ, surlignée en vert dans l’image suivante. Dans ce cas, le contenu du champ n'est que le nom du projet et s'affiche avec des couleurs d'arrière-plan/avant-plan légèrement différentes. (J'ai accidentellement découvert que cliquer avec le bouton droit de la souris sur ce nom le remplacera par le chemin du dossier contenant build.gradle, mais si vous annulez et recommencez la modification de la configuration, elle apparaîtra toujours sous le nom du projet uniquement.)

 Run/Debug Configurations dialog showing Gradle project as the name of a registered project

Après avoir effectué ce changement, la configuration a été construite comme prévu et j'ai constaté qu'un seul Java.exe avait été lancé, en utilisant le même chemin JDK que lorsque j'avais exécuté des tâches à partir du panneau "Gradle" de l'interface utilisateur.

75
HughG

Je l'ai résolu en utilisant idea64.exe et non idea.exe

 enter image description here

42
Percy Vega
  1. Créer le fichier gradle.properties dans le dossier %USERPROFILE%\.gradle\ (~/.gradle/ sur des machines * nix)
  2. Dans ce fichier, ajoutez la chaîne org.gradle.Java.home={actual path to jdk} (pour le connaître sous MacOS, exécutez /usr/libexec/Java_home)

Pour moi, ce problème a été résolu en exécutant IDE en mode 64 bits, car jRE seulement 64 bits est installé.

14
Arthur Carroll

J'ai eu exactement le même problème et c'est ce qui a fonctionné pour moi.

J'ai supprimé les fichiers .idea et .project du répertoire racine de mon projet IntelliJ project . IntelliJ redémarré et a ouvert mon projet à nouveau.

5
Abdullah Khan

Ajoutez ci-dessous dans vos diplômes.

org.gradle.Java.home = $ {sdk_path}

par exemple:

org.gradle.Java.home = C:\Fichiers de programme (x86)\Java\jdk1.8.0_121

Sinon, si vous avez un avertissement de mémoire mémoire.

Ajoutez également gradle.properties avec les éléments suivants: Org.gradle.jvmargs = -Xmx512m

1
Dante

Ce qui a fonctionné pour moi a été:

  • désinstaller intelliJ 
  • Réinstallez intelliJ, mais pendant l’installation, assurez-vous de À NE PAS cocher "Téléchargez et installez JRE 64 bits par JetBrains (sera utilisé avec le lanceur 64 bits)"

Cela a permis à mon projet de fonctionner à nouveau (dans les versions 32 et 64 bits).

1
sel-en-ium

J'ai résolu ce problème en renommant les dossiers jre et jre64 afin d'empêcher l'utilisation d'idée par idée et en définissant Java_HOME sur mon autre installation JDK 1.8 dans le fichier idea.bat.

0
Krishna

Si vous utilisez le plugin Gradle IDEA:

  1. Exécuter .\gradlew cleanidea idea
  2. Quittez IntelliJ IDEA
  3. Démarrez IntelliJ IDEA et choisissez l’option "Importer un projet" dans le menu principal.
  4. Accédez au fichier build.gradle principal de votre projet lorsqu'il vous est demandé de spécifier le projet à importer.
  5. Vous aurez ensuite la possibilité de définir le JDK sur "le projet par défaut" ou un autre JDK préféré.
  6. Cliquez sur OK pour continuer, et regardez Gradle synchroniser et compiler à nouveau avec succès!
0
Adil B

il suffit de déplacer le dossier jdk dans le dossier voulu intellij C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2016.3.4\jre

puis changez les valeurs dans le dossier .gradle donné dans la ligne voulue fermez le projet puis redémarrez 

ça marche pour moi....

0
Hafiz umer

Dans mon cas, je ne suis allé que dans les paramètres, j'ai cherché le JDK, cliqué sur Compilateur Java, puis j'ai remarqué que la version du code intermédiaire du projet était manquante. Donc, j'ai seulement vérifié la version 1.8 qui est ma version de compilation Java. Et c'était ça pour moi.

 enter image description here

0
Juan Mendez