Gradle-新创建的守护进程的上下文与预期的不同

Gradle-新创建的守护进程的上下文与预期的不同,gradle,intellij-idea,openjdk,nixos,nixpkgs,Gradle,Intellij Idea,Openjdk,Nixos,Nixpkgs,我在Ubuntu Linux上行链路4.13.0-32-generic 35~16.04.1-Ubuntu SMP-Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux中安装了OpenJDK via 现在,当我尝试构建/运行IntelliJ IDEA 2017.3.4最终版构建IU-173.4548.28中使用Gradle 4.4的项目时,我发现以下错误: The newly created daemon process has

我在Ubuntu Linux上行链路4.13.0-32-generic 35~16.04.1-Ubuntu SMP-Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux中安装了OpenJDK via

现在,当我尝试构建/运行IntelliJ IDEA 2017.3.4最终版构建IU-173.4548.28中使用Gradle 4.4的项目时,我发现以下错误:

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=/nix/store/f9053w1lfrkhgqfpr6l82ssxmjpsni1j-openjdk-8u172b02,daemonRegistryDir=/home/gorre/.gradle/daemon,pid=12824,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=b813ba02-e4a6-4bfe-91b2-8ed32963f7cc,javaHome=/nix/store/f9053w1lfrkhgqfpr6l82ssxmjpsni1j-openjdk-8u172b02/lib/openjdk,daemonRegistryDir=/home/gorre/.gradle/daemon,pid=14245,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
我到处搜索,但其他答案/解决方案不起作用,甚至没有在项目内或我的用户家中的gradle.properties中指定Java home:

org.gradle.java.home = /nix/store/f9053w1lfrkhgqfpr6l82ssxmjpsni1j-openjdk-8u172b02
另一方面,如果我在终端上构建/运行项目,它就可以正常工作。有什么线索吗

更新1

这是我在IntelliJ IDEA中对Gradle和SDK的配置:


检查Gradle守护程序的Idea设置:

Build, Execution, Deployment -> Build Tools -> Gradle.
有一个选项gradlejvm。看起来Idea使用Java9或其他不兼容的JVM来运行Gradle。
你应该从Nix选择你的Java版本。

我发现了这个问题,尽管它就在我眼前-我没有仔细阅读错误消息

基本上,Nix设置的默认Java主页位于:/Nix/store/f9053w1lfrkhgqfpr6l82ssxmjpsni1j-openjdk-8u172b02/lib/openjdk,我在IntelliJ IDEA中手动设置的主页位于:/Nix/store/f9053w1lfrkhgqfpr6l82ssxmjpsni1j-openjdk-8u172b02请注意缺少的../lib/openjdk段

在IntelliJ IDEA中纠正了这一点后,一切都很好。我不需要任何额外的和/或特殊的东西


我希望这对将来的其他人或其他快速阅读者有所帮助。

是的,我也检查过了。实际上我用的是正确的。我将用两个屏幕截图更新答案。确保您在gradle.properties文件中指定了org.gradle.java.home属性,该文件与build.gradle或UDER\u home/.gradle目录位于同一目录中。gradle目录:尝试重新启动电脑。同时检查java\u home environment validate设置为什么。尝试将其设置为您用于Gradle的JDK,并删除org.Gradle.java.home属性。要使更改生效,可能需要重新登录。问题也可能由symlink引起。尝试删除jre子目录中的一个。@Andrey我在gradle.properties中尝试了org.gradle.java.home技巧-这是问题本身。另一方面,a我确实重新启动了,b我没有将JAVA_HOME声明和/或设置为环境变量,c删除了jre的链接……但是什么也没有发生,仍然是相同的错误。
Build, Execution, Deployment -> Build Tools -> Gradle.