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 2016 on all the supported platforms. It also applies to the lightweight IDEs based on IntelliJ platform released from the same branch (144+).

All the products on all the supported platforms already have JetBrains Runtime bundled and it will be used by default. If you need to change the runtime to a different version, see below.

All platforms: download and install JetBrains Runtime via JB SDK Bintray Downloader plug-in

  1. Install the JB SDK Bintray Downloader plugin (screenshot).
  2. Start the IDE, use Help | Find Action (Ctrl+Shift+A or Cmd+Shift+A on Mac), type "Get JB SDK", press Enter.
  3. Select the version to install, the higher the number after b, the more recent is the version. It makes sense to install the most recent version or the version you were asked to try by JetBrains staff.
  4. Click the Download button and wait until the file with JetBrains Runtime is downloaded.
  5. Once download is finished, click the Install button, the file will be unpacked into idea.config.path\jdks location and the full path to this JDK will be saved into idea.config.path\<product>.jdk file, for example: C:\Users\serge\.IntelliJIdea2017.1\config\jdks\jbsdk8u152b819.1_windows_x64. IDE will automatically restart.
  6. Verify via About dialog that the new runtime is used. Notice the vendor (should be JetBrains s.r.o) and the release number (should correspond to the number after b in the file you've downloaded).
  7. If the JDK version in the About dialog doesn't match or didn't change, see below. Most likely, you have an environment variable configured which has the priority over the <product>.jdk file. Remove any environment variables affecting IDE runtime selection and restart.

All platforms: switch between installed runtimes

  1. Start the IDE, use Help | Find Action (Ctrl+Shift+A or Cmd+Shift+A on Mac), type "Switch IDE Boot JDK", press Enter.
  2. Switch IDE Boot JDK dialog appears. Select the version from the drop-down or click "…" entry to specify the custom location. This location has to point to the JDK installation home directory (like c:\Program Files (x86)\Java\jdk1.8.0_112 or /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/ or /usr/lib/jvm/open-jdk).
  3. Please note that using JetBrains Runtime is highly recommended for performance and stability reasons (it fixes many known OpenJDK and Oracle JDK bugs).
  4. Selected location is stored inside the idea.config.path\<product>.jdk file, should you need to revert to the default behavior in case of any problem (like when IDE no longer starts), delete this file or modify the installation path inside.

Windows

JDK (JetBrains Runtime) 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. Since 2017.1 version 64-bit JDK is bundled by default on all the systems (32-bit JDK can be downloaded on Windows by the installer if needed).

JetBrains Runtime (based on OpenJDK) can be also downloaded separately, but you normally don't need to do it. 

<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. idea.config.path\<product>.jdk file
  3. ..\jre directory
  4. system Registry
  5. JDK_HOME environment variable
  6. 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. idea.config.path\<product>64.jdk file
  3. ..\jre64 directory
  4. system Registry
  5. JDK_HOME environment variable
  6. 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. idea.config.path\<product>64.jdk file
  3. idea.config.path\<product>.jdk file
  4. ..\jre64 directory
  5. ..\jre directory
  6. JDK_HOME environment variable
  7. JAVA_HOME environment variable
Environment variable must point to the JDK installation home directory, for example:
c:\Program Files (x86)\Java\jdk1.8.0_112
  • 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.

Linux

  • Starting from IntelliJ IDEA 2016 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 and Oracle JDK 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:
    /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk
110 comments

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? 

0

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: https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbsdk8u76b218_windows_x64.tar.gz.

0

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.

0

/facepalm

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.

0

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)

0

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.

0

See also https://www.jetbrains.com/help/idea/requirements-for-intellij-idea.html:

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.

0

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.country=RU,-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.country=RU,-Duser.language=ru,-Duser.variant]
Consult IDE log for more details (Help | Show Log)

What value at the JAVA_HOME variable?

 

0

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

0

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

0

The troubleshooting instructions for Windows includes the following statement: "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." I do not understand why IntelliJ needs the JDK to "RUN" on windows; I would think an updated JRE sufficient. Presumably, it would be wise to compile software with an updated JDK, so in that respect inclusion of an updated JDK with the IntelliJ installer would be prudent. 

On a second point, am I correct in inferring that the JDK bundled with IntelliJ is that for a 32 bit computer? And that if the computer on which IntelliJ is to be installed is a 64 bit computer, then one must download and install the 64 bit JDK. These days aren't most computers (even laptops) 64 bit? Why not bundle both the 32 and 64 bit JDKs with IntelliJ? At the very least, why not bundle the most commonly used JDK (64 bit) with IntelliJ?

0

> I do not understand why IntelliJ needs the JDK to "RUN" on windows; I would think an updated JRE sufficient.

IntelliJ IDEA uses compiler APIs which are not available in JRE, therefore it needs JDK to run.

> On a second point, am I correct in inferring that the JDK bundled with IntelliJ is that for a 32 bit computer?

No, it works on both 32-bit and 64-bit.

> And that if the computer on which IntelliJ is to be installed is a 64 bit computer, then one must download and install the 64 bit JDK.

No, it works out of the box. Also, 64-bit JDK is default since 2017.1 version and 32-bit JDK is downloaded by the installer (optional).

> These days aren't most computers (even laptops) 64 bit? Why not bundle both the 32 and 64 bit JDKs with IntelliJ?

See above. 64-bit is default now, 32-bit is an optional download to save size of the installer on Windows.

> At the very least, why not bundle the most commonly used JDK (64 bit) with IntelliJ?

It's bundled since 2017.1 release.

Edited by Serge Baranov
0

The path given above,  idea.config.path\<product>.jdk, seems to be wrong with the current products. At least the location was empty, and I found the JDKs installed under .WebStorm2017.1/config/jdks.

0

No, you are mixing up the location of the JDK itself and the location of the text .jdk file that overrides the default JDK.

Edited by Serge Baranov
1

@Serge, thanks for that. You are indeed correct. The problem was just that this file never gets created, which made me search for alternative locations. 

FYI, there seems to be some kind of logical build error in the Jetbrains Runtime, which you might spot from this:

carlerik@devbox:~/.WebStorm2017.1/config/jdks/jbsdk8u152b845.3_linux_x86/bin$ strings java | grep 1.8.0_76
1.8.0_76-release-845-b3

As you can see from the Version string on the Directory name, I should be running 1.8u152, but the internal strings says it is version 1.8u76. That also makes WebStorm complain about using an old Version.

 

0

What Java version is displayed in About dialog? What's the output from "~/.WebStorm2017.1/config/jdks/jbsdk8u152b845.3_linux_x86/bin/java -version" command?

Edited by Serge Baranov
0

$ ~/.WebStorm2017.1/config/jdks/jbsdk8u152b845.3_linux_x86/bin/java -version
openjdk version "1.8.0_76-release"
OpenJDK Runtime Environment (build 1.8.0_76-release-845-b3)
OpenJDK Server VM (build 25.76-b3, mixed mode)

0

Please sign in to leave a comment.

Have more questions?

Submit a request