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工具,如下所示:

Project SDK2 SDK1


答案 1

我在调查类似问题时发现了这个问题,我解决了我的问题,所以也许我的经验会有所帮助。

观察

我的问题与你的问题类似,因为上下文将 作为嵌入在 IDEA 安装文件夹中的 JRE 的路径,而上下文将其作为我路径上的 Java 的第一个版本。我在网上找到了几个类似的错误报告,但没有一个将IDEA嵌入式JRE作为版本。WantedjavaHomeActualWanted

Java版本恰好是JRE的系统范围的安装,而不是我为项目配置的JDK,也不是为设置的值,这让我非常怀疑(和困惑)。重新排序我的路径导致它使用另一个“不需要的”Java版本,所以它显然是使用路径来选择要运行的内容,但不清楚为什么。我无法让 IntelliJ 的嵌入式 JRE 成为我道路上的第一个,因为出于各种原因,我需要它成为 JDK,所以我需要另一个解决方案。WantedJAVA_HOME

我还注意到(使用Process Explorer,因为我使用的是Windows),在失败的情况下,IntelliJ启动了许多Gradle守护进程,并且在我尝试启动构建之前肯定没有守护进程在运行。java.exe

溶液

结果是我在“运行/调试配置”对话框中定义了一个新配置,并将文件的完整路径放在字段中,如下所示。(我通过单击字段右侧的省略号(...)按钮来执行此操作,但我也可以直接输入它。build.gradleGradle 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

进行此更改后,配置按预期构建,我观察到只启动了一个配置,使用的JDK路径与我从UI中的“Gradle”面板运行任务时相同的JDK路径。java.exe


答案 2

我通过使用idea64解决了它.exe而不是idea.exe

enter image description here


推荐