web-dev-qa-db-ger.com

IntelliJ Build Error Context Mismatch

Ich möchte IntelliJ IDEA 15 anstelle von Android Studio verwenden, habe aber ein Problem mit dem Erstellen. Ich erhalte folgende Fehlermeldung:

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]

Was ist mein Fehler? Wie Sie auf den folgenden Bildern sehen können, ist alles richtig konfiguriert.

Ich habe ein JDK und die Android Tools wie folgt konfiguriert:

 Project  SDK2  SDK1

47
timia2109

Ich habe diese Frage gefunden, als ich ein ähnliches Problem untersuchte, und ich habe mein Problem gelöst. Vielleicht hilft meine Erfahrung.

Beobachtungen

Mein Problem war ähnlich wie bei Ihnen, da der Wanted-Kontext den javaHome als Pfad zur JRE im IDEA Installationsordner hatte und der Actual-Kontext die erste Version von Java in meinem Pfad hatte. Ich habe mehrere ähnliche Fehlerberichte online gefunden, aber keiner hatte die IDEA eingebettete JRE als Wanted-Version.

Die Java-Version Wanted war eine systemweite Installation der JRE und nicht das JDK, das ich für das Projekt konfiguriert hatte, noch der für Java_HOME festgelegte Wert, der mich sehr verdächtig (und verwirrt) machte. Durch die Neuordnung meines Pfads wurde eine weitere "unerwünschte" Java-Version verwendet. Daher wurde eindeutig der Pfad zur Auswahl der Ausführung verwendet. Es war jedoch nicht klar, warum. Ich konnte IntelliJs eingebettete JRE nicht auf den ersten Blick auf meinen Weg bringen, da ich dies aus verschiedenen Gründen als JDK benötigte, also brauchte ich eine andere Lösung.

Ich habe auch festgestellt (mit Process Explorer, da ich unter Windows bin), dass IntelliJ im Fehlerfall eine Reihe von Java.exe-Gradle-Daemon-Prozessen gestartet hat und vor dem Start meines Builds definitiv keine Daemon-Prozesse ausgeführt wurden.

Lösung

Als Ursache stellte sich heraus, dass ich im Dialogfeld "Run/Debug Configurations" eine neue Konfiguration definiert hatte und den vollständigen Pfad zur build.gradle-Datei wie folgt in das Gradle project:-Feld eingetragen habe. (Ich habe dies getan, indem ich auf die Schaltfläche mit den Ellipsen (...) rechts neben dem Feld geklickt habe, aber ich hätte es auch direkt eingeben können.)

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

Was ich hätte tun sollen, war jedoch dem Muster in vorhandenen Konfigurationen zu folgen, wobei der Gradle project: als "registriertes Projekt" angegeben wurde. Klicken Sie dazu auf das Symbol "Ordner" rechts neben dem Feld, das im folgenden Bild grün hervorgehoben ist. In diesem Fall ist der Inhalt des Feldes nur der Projektname und wird mit leicht unterschiedlichen Hintergrund-/Vordergrundfarben angezeigt. (Ich habe aus Versehen herausgefunden, dass ein Rechtsklick auf diesen Namen ihn durch den Pfad zu dem Ordner mit build.gradle ersetzt. Wenn Sie die Konfiguration jedoch abbrechen und erneut bearbeiten, wird sie nur als Projektname angezeigt.)

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

Nach dieser Änderung wurde die Konfiguration wie erwartet erstellt, und ich stellte fest, dass nur ein Java.exe gestartet wurde. Dabei wurde derselbe JDK-Pfad verwendet wie beim Ausführen von Aufgaben im "Gradle" -Feld in der Benutzeroberfläche.

75
HughG

Ich habe es mit idea64.exe und nicht mit idea.exe gelöst

 enter image description here

42
Percy Vega
  1. Erstellen Sie die Datei gradle.properties im Ordner %USERPROFILE%\.gradle\ (~/.gradle/ auf * nix-Maschinen).
  2. Fügen Sie in dieser Datei die Zeichenfolge org.gradle.Java.home={actual path to jdk} hinzu (um sie unter MacOS auszuführen, führen Sie /usr/libexec/Java_home aus).

Für mich wurde dieses Problem gelöst, indem IDE im 64-Bit-Modus ausgeführt wurde, da nur 64-Bit-JRE installiert ist.

14
Arthur Carroll

Ich hatte genau das gleiche Problem und das hat bei mir funktioniert.

Ich habe die .idea- und .project-Dateien aus dem Stammverzeichnis meines IntelliJ project gelöscht. IntelliJ neu gestartet und mein Projekt erneut geöffnet.

5
Abdullah Khan

Fügen Sie unten in Ihren gradle.propetries hinzu

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

zum Beispiel:

org.gradle.Java.home = C:\Programme (x86)\Java\jdk1.8.0_121

Andernfalls, wenn Sie eine Warnung zum Speicherheap haben.

Bitte fügen Sie zusätzlich gradle.properties hinzu: Org.gradle.jvmargs = -Xmx512m

1
Dante

Was für mich funktioniert hat war:

  • intelliJ deinstallieren 
  • Installieren Sie IntelliJ erneut, aber stellen Sie sicher, dass Sie während der Installation DON'T check "64-Bit-JRE von JetBrains herunterladen und installieren (wird mit dem 64-Bit-Startprogramm verwendet)"

Damit war mein Projekt wieder in Arbeit (sowohl in der 32- als auch in der 64-Bit-Version).

1
sel-en-ium

Ich löste dieses Problem, indem ich die Ordner jre und jre64 umbenannte, um die Verwendung von idea zu verhindern, und Java_HOME auf meine andere JDK 1.8-Installation in der Datei idea.bat setzen.

0
Krishna

Wenn Sie das Gradle IDEA -Plugin verwenden:

  1. .\gradlew cleanidea idea ausführen
  2. Beenden Sie IntelliJ IDEA
  3. Starten Sie IntelliJ IDEA und wählen Sie im Hauptmenü die Option "Projekt importieren".
  4. Navigieren Sie zur Hauptdatei build.gradle Ihres Projekts, wenn Sie nach dem zu importierenden Projekt gefragt werden.
  5. Sie haben dann die Möglichkeit, das JDK auf "Projektstandard" oder ein anderes bevorzugtes JDK einzustellen.
  6. Klicken Sie auf OK, um fortzufahren, und sehen Sie sich die erfolgreiche Synchronisierung von Gradle an!
0
Adil B

verschieben Sie den Ordner jdk in den gewünschten Ordner C:\Programme\JetBrains\IntelliJ IDEA Community Edition 2016.3.4\jre

dann ändern Sie die Werte im .gradle-Ordner in der gewünschten Zeile. Schließen Sie das Projekt und starten Sie es erneut 

für mich geht das....

0
Hafiz umer

In meinem Fall ging ich nur zu den Einstellungen, suchte nach JDK, klickte auf Java-Compiler und bemerkte, dass die Bytecode-Version des Projekts fehlte. Also habe ich nur 1.8 überprüft, was meine Java-Build-Version ist. Und das war es für mich.

 enter image description here

0
Juan Mendez