IntelliJ Build Error Context Mismatch
I found this question while investigating a similar problem, and I solved mine, so maybe my experience will help.
Observations
My problem was similar to yours in that the Wanted
context had the javaHome
as the path to the JRE embedded in the IDEA install folder, and the Actual
context had it as the first version of Java on my path. I found several similar error reports online but none had the IDEA embedded JRE as the Wanted
version.
The Wanted
Java version happened to be a system-wide install of the JRE, and not the JDK I had configured for the project, nor the value set for JAVA_HOME
, which made me very suspicious (and confused). Re-ordering my path caused it to use yet another "unwanted" version of Java, so it was clearly using the path to choose what to run, but it wasn't clear why. I couldn't make IntelliJ's embedded JRE be first on my path, because I needed that to be the JDK for various reasons, so I needed another solution.
I also noticed (using Process Explorer, since I'm on Windows) that, in the failing case, IntelliJ launched a number of java.exe
Gradle daemon processes, and that there were definitely no daemon processes running before I tried to start my build.
Solution
The cause turned out to be that I had defined a new configuration in the "Run/Debug Configurations" dialog and put the full path to the build.gradle
file in the Gradle project:
field, as follows. (I did this by clicking the ellipsis (...) button to the right of the field, but I could also have entered it directly.)
However, what I should have done was follow the pattern in existing configurations, where the Gradle project:
was specified as a "registered project", by clicking the "folder" icon to the right of the field, highlighted in green in the following image. In this case, the content of the field is just the project name, and is shown with subtly different background/foreground colours. (I accidentally discovered that right-clicking on this name will replace it with the path to the folder containing build.gradle
, but if you cancel and start editing the configuration again, it will still appear as just the project name.)
After making this change, the configuration built as expected, and I observed that only one java.exe
was launched, using the same JDK path as when I ran tasks from the "Gradle" panel in the UI.
I solved it by using idea64.exe and not idea.exe
- Create file
gradle.properties
in folder%USERPROFILE%\.gradle\
(~/.gradle/
on *nix machines) - In this file add string
org.gradle.java.home={actual path to jdk}
(to know it in MacOS run/usr/libexec/java_home
)
For me this issue was solved by running IDE in 64 bit mode since I only have 64 bit JRE installed.