我想使用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工具:
答案 0 :(得分:76)
我在调查类似的问题时发现了这个问题,我解决了我的问题,所以也许我的经验会有所帮助。
我的问题与您的问题类似,Wanted
上下文将javaHome
作为IDEA安装文件夹中嵌入的JRE的路径,而Actual
上下文将其作为我路上的第一个Java版本。我在网上发现了几个类似的错误报告,但没有一个IDEA嵌入了JRE作为Wanted
版本。
Wanted
Java版本碰巧是JRE的系统范围安装,而不是我为项目配置的JDK,也没有为JAVA_HOME
设置的值,这让我非常怀疑(并且困惑)。重新排序我的路径导致它使用另一个“不需要的”Java版本,所以它显然使用路径来选择运行什么,但不清楚为什么。我无法让IntelliJ的嵌入式JRE成为我的首选,因为出于各种原因我需要将它作为JDK,所以我需要另一种解决方案。
我还注意到(使用Process Explorer,因为我在Windows上),在失败的情况下,IntelliJ启动了许多java.exe
Gradle守护程序进程,并且在我之前肯定没有运行守护程序进程我试图开始构建。
原因是我在“运行/调试配置”对话框中定义了一个新配置,并将build.gradle
字段的完整路径放在Gradle project:
字段中,如下所示。 (我通过单击字段右侧的省略号(...)按钮来完成此操作,但我也可以直接输入它。)
但是,我应该做的是遵循现有配置中的模式,其中Gradle project:
被指定为“已注册的项目”,方法是单击该字段右侧的“文件夹”图标,突出显示在绿色如下图所示。在这种情况下,字段的内容只是项目名称,并以略微不同的背景/前景色显示。 (我意外地发现右键单击此名称会将其替换为包含build.gradle
的文件夹的路径,但如果您取消并再次开始编辑配置,它仍将显示为项目名称。)< / p>
进行此更改后,按预期构建配置,我发现只启动了一个java.exe
,使用与从UI中的“Gradle”面板运行任务时相同的JDK路径。 p>
答案 1 :(得分:42)
答案 2 :(得分:22)
gradle.properties
(* nix机器上的%USERPROFILE%\.gradle\
)上创建文件~/.gradle/
org.gradle.java.home={actual path to jdk}
(在MacOS运行/usr/libexec/java_home
中了解它)答案 3 :(得分:14)
对我来说,这个问题是通过在64位模式下运行IDE来解决的,因为我只安装了64位JRE。
答案 4 :(得分:5)
我遇到了完全相同的问题,这对我有用。
我从IntelliJ 项目的根目录中删除了<?php
$html='';
$html.='<select>';
$queryExercise="SELECT exerciseName FROM workouts";
$queryExercise=mysql_query($queryExercise);
while($result=mysql_fetch_array($queryExercise))
{
$exerciseName=$result['exerciseName'];
$html.= '<option value="'.$exerciseName.'">'.$exerciseName.'</option>';
}
$html.='</select>';
echo $html;
?>
和.idea
个文件。重新启动IntelliJ并再次打开我的项目。
答案 5 :(得分:2)
对于MacOSX,为我解决的问题是将IntelliJ中的SDK指向Contents/Home
。例如:
此:
/ Users //。sdkman / candidates / java / 14.0.1-zulu / zulu-14.jdk / Contents / Home
代替此:
/ Users //。sdkman / candidates / java / 14.0.1-zulu
目前正在使用最新的Java(14.0.1-zulu),Gradle(6.5)和Kotlin(1.4-M2)。
答案 6 :(得分:1)
对我有用的是:
这使我的项目再次工作,(在32位和64位版本中)。
答案 7 :(得分:1)
在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 :(得分:0)
答案 9 :(得分:0)
将jdk文件夹移动到intellij想要的文件夹C:\ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2016.3.4 \ jre
然后更改所需行中给出的.gradle文件夹中的值关闭项目然后重新启动
它对我有用....
答案 10 :(得分:0)
我通过重命名jre和jre64文件夹来解决这个问题,以防止想法使用它们并将jAVA_HOME设置为idea.bat文件中的其他JDK 1.8安装。
答案 11 :(得分:0)
如果您使用的是Gradle IDEA插件:
.\gradlew cleanidea idea
build.gradle
文件。答案 12 :(得分:0)
我通过使用11.0.8-amzn
而不是11.0.8-zulu
来解决了这个问题。
花了我两个小时的时间才能使构建再次在IDE中工作