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
117 comments

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.

0

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?

0

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.

0

@Serge thank you very much. I've request it https://youtrack.jetbrains.com/issue/IDEA-135061. And sorry for the offtopic here.

0

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

0

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.

0

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

0

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 ?

0

If you are using 0xDBE the path variable is dbe_JDK

0

Hi, 

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

0

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

0

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. 

0

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?

Cheers!

0

You can use 1.8 Oracle JDK or OpenJDK on Linux.

0

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

0

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.

0

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!

0

For reference: I had to change the JVMVersion value in the idea.properties 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.

0

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?

0

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?

Thanks.

0

@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?

0

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/idea.properties
Specifically,

./idea.properties:20:JVMVersion=1.6*

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

0

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

0

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>/idea.properties

0

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.

0

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

Go to

~/Library/Preferences/<Product><Version>/idea.properties

Edit it

and change

JVMVersion=1.6*

to what you need.

0

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" ...

0

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

0

Just use http://download.jetbrains.com/idea/ideaIU-14.1.5-custom-jdk-bundled.dmg . Also, IDEA 15 will come with Java 8 by default (will be released in November).

0

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>/idea.properties 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.

0

Please sign in to leave a comment.

Have more questions?

Submit a request