it-swarm.com.ru

IntelliJ Build Ошибка Несоответствие контекста

Я хочу использовать 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 следующим образом:

Project SDK2 SDK1

47
timia2109

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

Наблюдения

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

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

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

Решение

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

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

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

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

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

75
HughG

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

 enter image description here

42
Percy Vega
  1. Создайте файл gradle.properties в папке %USERPROFILE%\.gradle\ (~/.gradle/ на * nix машинах)
  2. В этом файле добавьте строку org.gradle.Java.home={actual path to jdk} (чтобы узнать это в MacOS, запустите /usr/libexec/Java_home)
19
Владислав Винник

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

14
Arthur Carroll

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

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

5
Abdullah Khan

Добавьте ниже в свой 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

1
Dante

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

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

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

1
sel-en-ium

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

0
Krishna

Если вы используете плагин Gradle IDEA:

  1. Запустите .\gradlew cleanidea idea
  2. Выйти из IntelliJ IDEA
  3. Запустите IntelliJ IDEA и выберите опцию «Импортировать проект» в главном меню.
  4. Перейдите к основному файлу build.gradle вашего проекта, когда вас попросят указать проект для импорта.
  5. Затем вы получите возможность установить JDK на «проект по умолчанию» или другой предпочтительный JDK.
  6. Нажмите OK, чтобы продолжить, и посмотрите, как Gradle синхронизируется и строится снова успешно!
0
Adil B

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

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

меня устраивает....

0
Hafiz umer

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

 enter image description here

0
Juan Mendez