Подтвердить что ты не робот

Неполадка контекста ошибки сборки IntelliJ

Я хочу использовать IntelliJ IDEA 15 вместо Android Studio, но у меня проблема со строительством. Я получаю следующую ошибку:

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]

В чем моя ошибка? Как вы можете видеть на следующих снимках, все настроено правильно.

Я настроил JDK и Android Tools следующим образом:

Project SDK2 SDK1

4b9b3361

Ответ 1

Я нашел этот вопрос при исследовании подобной проблемы, и я решил, что, возможно, мой опыт поможет.

Наблюдения

Моя проблема была похожа на вашу, так как в контексте Wanted был javaHome в качестве пути к JRE, встроенному в папку установки IDEA, а в контексте Actual он был в качестве первой версии Java на моем дорожка. Я нашел несколько похожих отчетов об ошибках в Интернете, но ни один из них не имел встроенную JRE IDEA в качестве версии Wanted.

Версия Java Wanted оказалась общесистемной установкой JRE, а не JDK, которую я сконфигурировал для проекта, и значением, установленным для JAVA_HOME, что сделало меня очень подозрительным (и смущенным), Повторный заказ моего пути заставил его использовать еще одну "нежелательную" версию Java, поэтому она явно использовала путь для выбора того, что нужно запускать, но было непонятно, почему. Я не мог сделать IntelliJ встроенный JRE первым на моем пути, потому что мне нужно было быть JDK по разным причинам, поэтому мне было нужно другое решение.

Я также заметил (используя Process Explorer, так как я нахожусь в Windows), что в неудавшемся случае IntelliJ запустил несколько процессов демона java.exe Gradle и что определенно не было процессов демона, запущенных до того, как я попытался запустить мою сборку.

Решение

Дело оказалось в том, что я определил новую конфигурацию в диалоговом окне "Run/Debug Configurations" и поместил полный путь в файл build.gradle в поле Gradle project: следующим образом. (Я сделал это, нажав кнопку многоточия (...) справа от поля, но я также мог бы ввести его напрямую.)

Диалог конфигурации запуска/отладки, показывающий проект  Gradle как явный путь к файлу сборки Gradle

Однако то, что я должен был сделать, это следовать шаблону в существующих конфигурациях, где Gradle project: был указан как "зарегистрированный проект", щелкнув значок "папка" справа от поля, выделенный зеленым цветом следующее изображение. В этом случае содержимое поля - это просто имя проекта, и оно отображается с немного разными цветами фона/переднего плана. (Я случайно обнаружил, что щелчок правой кнопкой мыши по этому имени заменит его на путь к папке, содержащей build.gradle, но если вы отмените и начнете редактировать конфигурацию снова, она по-прежнему будет отображаться как просто имя проекта.)

Диалог конфигурации запуска/отладки, показывающий проект  Gradle как имя зарегистрированного проекта

После этого изменения конфигурация была построена так, как ожидалось, и я заметил, что был запущен только один java.exe, используя тот же путь JDK, что и при запуске задач с панели "Gradle" в пользовательском интерфейсе.

Ответ 2

Я решил это с помощью idea64.exe, а не idea.exe

введите описание изображения здесь

Ответ 3

Для меня эта проблема была решена путем запуска IDE в 64-битном режиме, поскольку у меня установлена ​​только 64-разрядная JRE.

Ответ 4

  • Создать файл "gradle.properties" в папке% USERPROFILE% \. gradle\
  • В этом файле добавьте строку "org.gradle.java.home = {фактический путь к jdk}"

Ответ 5

У меня была одна и та же проблема, и это сработало для меня.

Я удалил файлы .idea и .project из корневого каталога моего проекта IntelliJ . Перезапустил IntelliJ и снова открыл мой проект.

Ответ 6

Что для меня работало:

  • удаление intelliJ
  • Переустановите intelliJ, но во время установки убедитесь, что вы НЕ НЕ проверяете "Загрузите и установите 64-разрядную JRE с помощью JetBrains (будет использоваться с 64-разрядной пусковой установкой)"

Это снова заставило мой проект работать (как в 32-битной версии, так и в 64-разрядной версии).

Ответ 7

Добавьте ниже в gradle.propetries

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

например:

org.gradle.java.home = C:\Program Files (x86)\Java\jdk1.8.0_121

В противном случае, если у вас есть предупреждение о куче памяти.

Также добавьте gradle.properties: org.gradle.jvmargs = -Xmx512m

Ответ 8

В моем случае я только пошел к настройкам, искал JDK, щелкнул Java Compiler, а затем заметил, что версия байт-кода проекта отсутствует. Поэтому я только проверил 1.8, которая является моей версией Java-версии. И это было для меня.

введите описание изображения здесь

Ответ 9

просто переместите папку jdk в нужную папку C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2016.3.4\jre

затем измените значения в папке .gradle, заданные в желаемой строке, закройте проект, затем перезапустите

он работает для меня....

Ответ 10

Я решил эту проблему, переименовав jre и jre64 папки, чтобы предотвратить использование этой идеи, и установив JAVA_HOME на мою другую установку JDK 1.8 в файле idea.bat.