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+).

Java 11

Starting with 2019.1 version some products are already bundled with JetBrains Runtime version 11 or have the choice between 8 and 11 when downloading. Other products can be switched to JBR11 as described below.

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 Choose Runtime plug-in

  1. Install the Choose Runtime plugin (screenshot).
  2. Start the IDE, use Help | Find Action (Ctrl+Shift+A or Cmd+Shift+A on Mac), type "Choose Runtime", 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. Installing old runtime versions may render your IDE unusable or introduce new issues.
  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 the installed runtimes

See the previous section. After installing the plug-in use the Choose Runtime action to switch between the different local runtimes:

Help | Find Action (Ctrl+Shift+A or Cmd+Shift+A on Mac), type "Choose Runtime", press Enter.

idea64_2019-09-18_19-11-16.png

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 / CL_JDK / DATAGRIP_JDK / GOLAND_JDK environment variable (depends on the product, WEBIDE_JDK applies to both WebStorm and PhpStorm before version 2016.1)

  2. idea.config.path\<product>.exe.jdk file
  3. ..\jbr-x86 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 / CL_JDK_64 / DATAGRIP_JDK_64 / GOLAND_JDK_64 environment variable
  2. idea.config.path\<product>64.exe.jdk file
  3. ..\jbr 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 / CL_JDK / DATAGRIP_JDK / GOLAND_JDK environment variable (depends on the product)
  2. idea.config.path\<product>64.exe.jdk file
  3. idea.config.path\<product>.exe.jdk file
  4. ..\jbr directory
  5. ..\jbr-x86 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 / CL_JDK / DATAGRIP_JDK / GOLAND_JDK variable depending on the product to override the default version from IDE_HOME\jbr.
  • 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 (JetBrains Runtime) 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 Oracle JDK or OpenJDK build available on your system (JDK 11+ is recommended).
  • 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.

macOS

  • IDE is using the bundled JetBrains Runtime by default.
  • If you override IDE JDK version (via the Choose Runtime plug-in), 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
191 comments
Comment actions Permalink
@Serge Baranov, thank you for the reply. I was going to update PyCharm (https://www.jetbrains.com/help/pycharm/update.html) it but I'm unsure how to do so since PyCharm isn't starting on my machine so I can't detect any updates. Would I have to uninstall it and reinstall the latest version?
0
Comment actions Permalink

@Serge Baranov

Thank you! I think that solved my problem.

0
Comment actions Permalink

Good my font issue is Fixed for 2019.3 update.

defaut jre has font feel bad

0
Comment actions Permalink

Following these instructions completely bricked my install of intellij. Upon selecting the version (step 3), intellij exited, and when I tried to relaunch it, I received a message saying the application cannot be opened.

 

0
Comment actions Permalink

You can revert the change by deleting idea.jdk file from the config directory. Most likely, you've chosen some incompatible JDK build.

0
Comment actions Permalink

Serge Baranov I just chose the adoptopenjdk11 install I installed via homebrew and have configured via jenv.

0
Comment actions Permalink

You should use JetBrains Runtime to run IntelliJ IDEA. The default one is highly recommended.

0
Comment actions Permalink

I'm on IntelliJ 2019.3 (Build #IU-193.5233.102), trying to update the JBR from 11.0.4+10-b520.11 x86_64 to the latest JBR 11.0.6(818). When I use the Choose Runtime plugin, the app won't launch. Console logs look like this:

2020-04-07 11:20:09.807 idea[43949:1458920] Value of IDEA_VM_OPTIONS is (null)
2020-04-07 11:20:09.807 idea[43949:1458920] Processing VMOptions file at /Users/username/Library/Preferences/IntelliJIdea2019.3/idea.vmoptions
2020-04-07 11:20:09.807 idea[43949:1458920] Done
Error: could not find libjava.dylib
Failed to GetJREPath()
2020-04-07 11:20:09.808 idea[43949:1458920] JNI_CreateJavaVM (/Library/Java/JavaVirtualMachines/jbr-11_0_6.jdk) failed: 4294967295

If I remove idea.jdk and re-run, I basically go back to the previous version without a problem.

The reason I am changing this is to try to avoid IDEA-207243 where my CPU runs high % (like 300-400%) when I'm typing. 

jenv versions returns this, if that matters, but I feel like it doesn't:

system
* 1.8 (set by /Users/username/.jenv/version)
1.8.0.231
11.0
11.0.6
13
openjdk64-11.0.6
openjdk64-13
oracle64-1.8.0.231
oracle64-13

Any ideas?

0
Comment actions Permalink

It's really not trivial even to understand what is the latest available JetBrains JDK using "Choose Runtime" Plugin.

The dropdown list is a multitude of different major and minor versions and naming conventions.

Which version is newer: jbsdk11b125_osx_x64.tar.gz or maybe jbrsdk-11_0_7-osx-x64-b875.1.tar.gz ?

Not to mention literal sorting doesn't really work in such conditions.

IMHO it should solve a simple use case: Select and Install Latest JetBrains Runtime.

Edited by Ivan Balashov
0
Comment actions Permalink

This plug-in is needed when you were instructed by the support team or by the developers to use some specific runtime version in order to try some fix or a workaround for a problem. In all the other cases you should not override the runtime and use the default one that is bundled with the product.

Your usability concerns are valid and I've reported the same to the responsible developer long time ago. In any case, the plug-in is open source and you are welcome to contribute if you are interested: https://github.com/denis-fokin/ChooseRuntime .

1

Please sign in to leave a comment.

Have more questions?

Submit a request