Selecting the JDK version the IDE will run under

All the products on all the supported platforms already have 64-bit JetBrains Runtime 17 bundled and it will be used by default to run the IDE. If you need to change the runtime to a different version, see below. Please note that all the current IDE versions require at least Java 17 version to run. Our IDEs will not run on the older Java versions like Java 8 or 11.

All platforms: download and install JetBrains Runtime via Choose Boot Java Runtime for the IDE action

  1. Start the IDE, use Help | Find Action (Ctrl+Shift+A or Cmd+Shift+A on Mac), type "Choose Boot Java Runtime for the IDE", press Enter.
  2. 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.
  3. Click the OK button and wait until the file with JetBrains Runtime is downloaded and configured.
  4. Restart the IDE to try the new runtime.
  5. 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).
  6. 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: Add Custom Runtime

  1. Follow the steps from the section above to open the Choose Boot Java Runtime for the IDE dialog.
  2. Use the Add Custom Runtime option
  3. Select one of the already installed JDK 17 options or click Add JDK
  4. To add a new JDK specify the home folder of the Java 17 installation on your disk

This option is useful to check if the issue you might have is specific to JetBrains Runtime or is common to this Java version from all the vendors. It helps to isolate and fix issues with JetBrains Runtime or workaround problems as you can continue working until the issue is resolved.

All platforms: Switch back to the default bundled JetBrains Runtime

  1. Open the Choose Boot Java Runtime for the IDE dialog as described above
  2. Click the Use Default Runtime button
  3. Restart the IDE

If you can't start the IDE to access this dialog or the runtime doesn't change, please see below for the platform specific instructions. You would need to remove the <product>.jdk file from the configuration directory and unset any environment variables that override the default runtime. If there is no jbr subdirectory in the IDE installation directory, reinstall the product.



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.

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

  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. JDK_HOME environment variable
  6. JAVA_HOME environment variable
Environment variable must point to the JDK installation HOME directory, for example:
c:\Program Files\Java\jdk17.0.10
  • 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.


  • 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 17 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.


  • 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:
185 out of 476 found this helpful

Pahan, sure. You run/debug the project with the JDK configured for the project. It can be any version, 1.6, 1.7, 1.8. You can also override the JDK per run/debug configuration. IntelliJ IDEA is very flexible, you can run IDE itself under JDK 1.8, build/run/debug with JDK 1.6 and also have specific run/debug configurations that will run/debug with 1.7 and 1.8.


I have found "Use alternative JRE" in f.e. for Junit run, but not for Groovy script. My initial question was about groovy so because that it looks so stupid. Sorry.

How I could doing so for run groovy scripts also?


You can't do it for Groovy, request is welcome if this feature is required for your project. As this question is offtopic here, please consider contacting support or using YouTrack in case you have any other questions. Thank you.


@Serge thank you very much. I've request it And sorry for the offtopic here.


@Serge: so its not possible right now to run idea 14 under java 8 on mac?


An Anderl, it's possible, but not recommended with the official 1.8 JDK. You can try 14.1 EAP version with custom JDK which has many bugs fixed.


Just forget my comment above :) i read it all now


How do I "open" and existing project on intellij 13.1.6  on MAC? it does not show the ij-icon for .iml/.idea folder. it only shows folder that does not tell me if this is correct folder to load project.

build: 135.1306 ultimate on mac x86_64 on macbook pro JRE/JVM hotspot 64 bit by apple

Also if it is not a correct folder for project ( from the open project menu -- where you know user is trying to open an "existing" IJ project) it creates a bad project with new .idea folder/iml file...

can you help ?


If you are using 0xDBE the path variable is dbe_JDK



 My JAVA_HOME is set to a Jrockit version. So, I created JDK_HOME and set it to Java 7. But when I click on idea64.exe, it is still trying to search for JAVA_HOME rather than JDK_HOME. (IDEA build 141.177).


Try setting IDEA_JDK_64 instead. We have changed the launcher some time ago, so the order/variables may be a bit different.


Trying to do this for Webstorm (10.2) 64 bit using the exe vs bat and it still looks @ JAVA_HOME.   I have set WEBIDE_JDK, WEBIDE_JDK_64, IDEA_JDK, IDEA_JDK_64 to all point to a specific version of JDK and it stills uses JAVA_HOME as the jdk.  My scenario, I have two flavors of jdk installed and JAVA_HOME is set to an older version of JDK. 


Hi there,

is Oracle JDK 1.7 still the recommended version for Linux? Or is it safe to switch to Oracle 1.8, or God forbid, OpenJDK?



You can use 1.8 Oracle JDK or OpenJDK on Linux.


Great, thank you! Maybe the original post could be updated?


I recently began experiencing system crippling performance under PHPStorm 8.0.3. I am running Ubuntu 15.04 on a 6-core i7 processor with 16GB RAM. When indexing files all processing was assigned to a single CPU, which shot the CPU to 100%. Clearing cache and invalidating cache had no positive affect. I finally tracked this down to an apparent issue related to Java -- perhaps an update that was recently applied, not entirely sure. I had been running Java under the Oracle JDK --  Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode). I installed OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) and performance is as expected. Most notably, the load of indexing is distributed evenly across all 12 CPUs.  Thought I would post this in case it helps others.


I'm running Osgeo Live stack in Ubuntu 14.04 and need to retain OpenJDK 7 for the stack but need Oracle JAVA for PyCharm

Solution: Add Oracle JAVA 8 (but don't remove the existing JAVA if you still need it i.e. my problem)

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java8-installer # (change to ...java7-... if that's what you need)

$ sudo update-alternatives --config java # (to set the default to the default version required by the system)

For me the options were set as:

  Selection    Path                                                          Priority    Status

  0            /usr/lib/jvm/java-8-oracle/jre/bin/java              1072      auto mode

* 1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1071      manual mode

  2            /usr/lib/jvm/java-8-oracle/jre/bin/java              1072      manual mode

Press enter to keep the current choice[*], or type selection number: 1 # <-- choice to set default version

The next step was:

$ sudo nano /etc/environment # (to add the environment variable to direct PyCharm to the correct JAVA version

and add the line --> PYCHARM_JDK="/usr/lib/jvm/java-8-oracle/jre"

Hope this might help others!


For reference: I had to change the JVMVersion value in the file for it to be recognized by the IDE (Android Studio 1.3).
Changing it in the Info.plist file doesn't have any influence with my installation.


The above article still states, that Apple JDK 1.6 is required to run your products. However, in the Info.plist of IntelliJ IDEA 14 the key "JVMVersion" is set to "1.6*,1.7+". I am running Mac OS Yosemite and have never installed JDK 1.6. IntelliJ IDEA does not seem to mind and works perfectly. Is the article up to date?


Right, MAC USER here. I have a weird issue.
I was using PhpStorm 9 and EAP9.5 just fine, then I upgraded to El Capitan (from Yosemite). Usual missing JAVA at startup, fine. This time I chose not to install the legacy Java 6, but Oracle Java 8.

Long story short, PhpStorm won't start. I won't detect the JVM even when everything is rightly installed and setup. And, amazingly, not even PhpStorm with the bundled JVM starts! It throws the same message that says there is not suitable JVM!

This could help: if I start PhpStorm (even the one with no bundled JVM) as a Guest user on Mac (a user that always has no previous settings for anything), everything works.

Any particular setting file or similar that, under my own user, would prevent PhpStorm to detect the JVM correctly?



@Vicenzo - I don't know what might cause your problems.
Have you tried using the IDEA_JDK environment variable and launching PHPStorm from your terminal.
Something along these lines:
cd project_folder
export IDEA_JDK=$(/usr/libexec/java_home)
open -a PHPStorm .

Does that work?


As it always happens, you spend half a day on this, then decide to ask some one else, and you solve the issue right after...

It was the settings in ~/Library/Preferences/WebIde95/


That had to be changed to 1.8.

It'd be nice if the IDE wouldn't rely on those settings generated at the time of the first execution (I believe).


Doh - typing an underscore triggers italics.
The variable that needs to be set is IDEA underscore JDK


Hi Flemming, yes, I had tried that... no joy.
If you see my comment before this one, it'd seem that the IDE disregards everything once the JVMVersion property has been written to ~/Library/Preferences/<Product><Version>/


I run IDEA 14.1.5 on OS X EI Capitan, and follow the given step to change the JVMVersion from 1.6* to 1.7* .But it doesn't work ,and the error tip is "the intellij idea unable to find a valid JVM" . Actually I hava jdk 1.7 and 1.8 , the JAVA_HOME points to 1.7 version, and the environment variables work well.


Frank, if you were using the IDE before the upgrade to El Capitan, please see my comments above.

Go to


Edit it

and change


to what you need.


Eh ... I find that the JVMVersion's string value would be uesd to match the FILE NAME in the path "/Library/Java/JavaVirtualMachines/" . So it will not work any more if the file name doesn't contain the String "1.6/1.7/1.8" ...


Hi Vincenzo,
like my above comment, my JDK folder's name is "jdk7" and "jdk8", then I guess the file name should contain the JVMVerson String value, and it works after I renamed my JDK folder from "jdk7(jdk8)" to "jdk1.7(jdk1.8)"...


Just use . Also, IDEA 15 will come with Java 8 by default (will be released in November).


Serge, even the bundled one won't work if you opened the same version (but unbundled) before when using Java6, as ~/Library/Preferences/<Product><Version>/ would already be written.

Frank: I don't find that to be the case. I just changed JVMVersion to 1.8 and it picked up my JDK 8 from Oracle.


Please sign in to leave a comment.

Have more questions?

Submit a request