Selecting the JDK version the IDE will run under

Java 8

Please be aware that Java 8 is required to run IntelliJ IDEA starting from version 16 on all the supported platforms. It also applies to the lightweight IDEs released from the same branch (144+).


JDK is bundled with all the product installers and it's recommended that you will use the provided JDK version unless there are any specific issues.

32-bit JDK is located in IDE_HOME\jre directory and is used by the 32-bit product executable.

To run the IDE in 64-bit mode you will need to download and install 64-bit JDK (not JRE) distribution and install it yourself. IDE will find and use it from the registry when you run the 64-bit .exe file (available only for IntelliJ IDEA right now, other products can use the .bat file to run in 64-bit mode).

<product>.exe uses this JDK search sequence:

  1. IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK environment variable (depends on the product, WEBIDE_JDK applies to both WebStorm and PhpStorm before version 2016.1)

  2. ..\jre directory
  3. system Registry
  4. JDK_HOME environment variable
  5. JAVA_HOME environment variable

<product>64.exe uses this JDK search sequence:

  1. IDEA_JDK_64/ PHPSTORM_JDK_64 / WEBIDE_JDK_64 / PYCHARM_JDK_64 / RUBYMINE_JDK_64 / CLION_JDK_64 / DATAGRIP_JDK_64 environment variable
  2. ..\jre64 directory
  3. system Registry
  4. JDK_HOME environment variable
  5. JAVA_HOME environment variable

It’s also possible to start the IDE with <product>.bat file located in the bin directory, it uses the following JDK search sequence:

  1. IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK environment variable (depends on the product)
  2. ..\jre directory
  3. JDK_HOME environment variable
  4. JAVA_HOME environment variable
Environment variable must point to the JDK installation home directory, for example:
c:\Program Files (x86)\Java\jdk1.8.0_66
  • The actual JDK version used by the IDE can be verified in Help | About dialog (open any project to access the menu).
  • Define IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK variable depending on the product to override the default version from IDE_HOME\jre.
  • Use Rapid Environment Editor to add/edit the variables, it will detect incorrect paths.


  • Starting from IntelliJ IDEA 16 and the most recent versions of the lightweight IDEs, we are bundling custom JRE with Linux distributions, just like we've been doing for Mac. Our custom JRE is based on OpenJDK and includes the most up to date fixes to provide better user experience on Linux (like font rendering improvements and HiDPI support).
  • Boot JDK path is stored in the <product>.jdk file located in the config folder. It can be modified either via the Change IDE boot JDK action or by manually editing .jdk file (if you can't start the IDE to change it via an action).
  • It's recommended to use the bundled JRE (if available). In case you have any issues with the bundled version, you can switch to the latest version of Oracle JDK or OpenJDK available for your system (OpenJDK 1.6 is not supported, please use 1.7 or later versions, JDK 1.8 is recommended and older Java versions are not supported starting from IntelliJ IDEA 16).
  • Check bin/<product>.sh file for the JDK search order, it's similar to Windows in terms of the environment variable names. It's a legacy way to adjust the boot jdk, use it for older product versions. Consider using <product>.jdk file instead (see above), so that your modifications can survive IDE updates/re-installation.
  • Check this answer if you need to install the JDK manually on Linux.
  • If you have problems with ugly fonts, please see this thread comments for the tips.
  • Help | About will show the actual JDK version.

Mac OS X

  • Our latest IDE versions come with the bundled custom JDK 8 which contains the fixes for most known OpenJDK bugs. Should you need to use a different Java version, please refer to this blog post.
  • If you override IDE JDK version, its path is stored in <product>.jdk file located in the config folder (idea.jdk for IntelliJ IDEA, pycharm.jdk for PyCharm, etc). Delete this file or change the path inside the file manually in case IDE no longer starts and you can't change it via the menu.
  • If IDE doesn't start and this file doesn't exist, create it manually and specify Java path to use (Java home location), for example:

Out of curiosity, why don't you package the x64 version or at least have a downloadable package for it instead of requiring folks to pull and build it? 


The link above points to the binary builds, you just download and unpack it into IDEA_HOME/jre64 folder. For example, here is the link to the current Windows version of the custom 64-bit JDK:


We don't package it by default to save size of the distribution since for the most users 32-bit version will work just fine. 64-bit version is needed only in case you need to use heap sizes higher than 1GB (when working with large projects or many projects at the same time). 64-bit version has more RAM overhead. Bundling both versions would make the download size much larger, bundling only 64-bit version will make it unusable for users on 32-bit systems.



I see, they were over under files. I saw this on the Windows x64 page:

No direct downloads selected for this package.

and ended up wandering into the GitHub page and thinking there was no download from there. Oddly confusing UI, IMO. Thanks. BTW, it would be nice to at least make it an optional "would you like to download and install our 64-bit JRE" in the installer. Then folks could decide if they needed it.


Either this is no longer true, or I'm missing something about JDK/JRE differences.

"JDK is bundled with all the product installers and it's recommended that you will use the provided JDK version unless there are any specific issues.

32-bit JDK is located in IDE_HOME\jre directory and is used by the 32-bit product executable."

It seems like this is a JRE and not a JDK, since I cannot choose this as an SDK for a project. I'm by no means an expert on jdk/jre and might be misunderstanding the capabilities, but I would expect a JDK to work as a project SDK. (While I wouldn't with a JRE)


Yes, the wording is confusing, and what we bundle it's technically a Runtime that can be used only for running the IDE, not as a project JDK. It's also not a JRE since JRE doesn't include tools.jar that is required to run IntelliJ IDEA.


See also

JRE 1.8 is bundled with distributions for all platforms. You don't need any Java to be installed on your machine in order to run IntelliJ IDEA.

JDK is not required for developing Web, PHP, Ruby or Python projects in IntelliJ IDEA. The standalone JDK installation is required for Java development only.

However, you CANNOT use our bundled JRE for Java development.


How to correct an error?

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\JetBrains\IntelliJ IDEA Community Edition 2016.3\jre,daemonRegistryDir=C:\Users\Admin\.gradle\daemon,pid=5336,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1251,,-Duser.language=ru,-Duser.variant]
Actual: DefaultDaemonContext[uid=5ba9202e-aef4-44bc-835a-0fe9eef55258,javaHome=C:\Java\jdk1.8.0_111,daemonRegistryDir=C:\Users\Admin\.gradle\daemon,pid=4928,idleTimeout=60000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1251,,-Duser.language=ru,-Duser.variant]
Consult IDE log for more details (Help | Show Log)

What value at the JAVA_HOME variable?



my computer system is windows 10. i had setted a environment JDK_HOME ,then run idea64.exe, encounter a mistake, it seemly JDK_HOME is not support by idea64.exe. this is violated with above tutorial


What error do you get? Please contact support with more details.


Please sign in to leave a comment.

Have more questions?

Submit a request