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:

I couldn't get Android Studio pick up JDK 1.8 either using just the files.
I ended up using the STUDIO_JDK: .
Maybe there's an equivalent for vanilla Idea.


I downloaded IntelliJ 15 for OSX. It downloaded IdeaIU-15.0.1-custom-jdk-bundled.dmg by default. Upon startup all of my projects failed to load saying the maven projects failed to load. In the log I am seeing MavenServerManager failing to reconnect. I tried to run IntelliJ 14 with Java 8 in the past and found that I had to set to get it to work. IntelliJ 15 comes with the value preset to true.

I was able to download IdeaIU-15.0.1.dmg and it runs without that problem but it gives me a warning that updates cannot be automatically downloaded because it is running on Java 6.


See to chnage the value of this property. Disable secure updates to make it work on 1.6: .


I am not sure how the linked article helps me. I don't see any reference to Maven or running IntelliJ 15 on OSX with Java 8 - which I guess is the default download now - and the fact that the default options for it don't work.


Please submit a support ticket with more details and idea.log.


Hello and Happy New Year.
I do not understand why this is not working in my Intellij 15.0.2 IDEA. I have jdk version 1.8.0_11 installed in Program files(x86) /Java on my Windows 8.1 machine and have the project SDK pointing to that library. I have set the Language Level to " 8 - Lambdas, ....." for both Projects and Modules in the Project Settings window. Intellij continues to show a compiler error - red squiggly underscore -under this entire lambda statement:

() -> 5 the error shown when mousing over is "Lambda expression not expected here"
When I click on Help->About I see the JRE that the IDEA is using is 1.8.0_51-b16 X86. So I created a IDEA_JDK environment variable pointing to the same Java 8 library even though the project settings already are set to point to the Java 8 library. Creating this environment variable changed the Java version the IDE is using to 1.8.0_11-b12 amd64. That is fine however I continue to get the compiler error mentioned.
Can somebody please advise? What am I missing? Why are these settings not working? Thank you for your time



I found a minor bug in this workflow.

Under Windows when upgrading from WebStorm 11.0.3 (x86) to WebStorm 2016.1 (x64), the IDE_HOME\jre was copied directly from the previous installation, which of course was 32-bit java and the IDE couldn't use it. Then WebStorm ignored the IDEA_JDK_64 environment variable and only tried to use JAVA_HOME which is set to Java 1.7 in my case for different platforms to use. Eventually I copied the contents of my 64-bit JDK installation's jre folder to IDE_HOME\jre and the IDE started fine.



WebStorm uses WEBIDE_JDK. 2016.1 version requires Java 8 version to run. If you have Java 8 installed and run webstorm64.exe, it should find it automatically from the registry.


I just downloaded the new 2016.1 version of PHPStorm. When I try to open it, it says it doesn't run with the older Java 1.6 version (which was required for the previous version of PHPStorm). So I uninstalled that and installed Java 1.8. When I type `java -version` in Terminal, it says that version 1.8 is installed. I also added a link to that Java version in the `.jdk` config file which I called `PhpStorm2016.1.jdk` (as explained above).

Now when I try to open PHPStorm it says that a suitable Java version can not be found and it gives me a link to this Apple page ( where I can download the 1.6 version. So I installed that again and then I'm back where I started, getting the message from PHPStorm that I need version 1.8 of Java instead of 1.6.

So, I seem to be in an infinite loop :(

I'm on OSX by the way (El Capitan 10.11.3)

Please advise what to do, because I am completely stuck and can't work.


PhpStorm comes with bundled Java on Mac. If you don't have .jdk file, it should run on the bundled JDK by default. See also I've submitted a bug for the 1.6 installation suggestion: Please vote. Submit a ticket to support if you still have a problem.


Serge, I have JDK 8 (x64) installed, WebStorm did not find it using the IDEA_JDK_64 environment variable, it was only checking JDK_HOME which was set to JDK 7 (x64), so it didn't start. So the JDK search sequence seems to be broken.

The two things that worked was either changing the JDK_HOME variable to JDK 8, which was undesirable or copying my Java 8 JDK's jre folder to IDE_HOME\jre. This works perfectly, while JAVA_HOME can remain at JDK 7, so I just wanted to share my experience.


WebStorm doesn't use IDEA_JDK_64. It's IntelliJ IDEA specific. Every product has its own variable. Please check the article again. Example is for idea64.exe only.


Cool, thanks! Sorry, I didn't read carefully enough.


Thanks for your fast response Serge! I removed all Java versions from my machine, when I now run `java -version` in terminal, it says that Java is not installed (I even reinstalled PhpStorm and rebooted, just to be sure). Tried to fire up PhpStorm again, but still got the message that PhpStorm was unable to find a suitable Java version.

Then I tried János Pál's suggestion. So I reinstalled Java 8 JDK and then set JAVA_HOME to the location of the Java 8 JDK, as explained here:

Now if I run `echo $JAVA_HOME` in terminal, it tells me the location, so that works. Still PhpStorm doesn't start.


I was able to resolve the issue about PhpStorm not being able to find the correct JVM by doing the following:

I removed all Java versions from my machine. Then, in this file


There is a property that says


I removed that line and all is fine now.


I've downloaded PyCharm 2016.1, installed in and try to start. I get the following error:

Unsupported Java Version: Cannot start under Java 1.7.0_95-b00: Java 1.8 or later is required.

I have openjdk 1.7 installed, but as I've read, PyCharm brings it's own JRE with it. But why the contained JDK isn't used? I've tried to start the java binary in the $IDE_HOME/jre/jre/bin/ folder, but it seems a 64 bit executable. I'm on a 32 bit Ubuntu system.

Is the contained JRE only 64 bit? Do I have to install JRE from Oracle? But then I have nothing of the improvements you made in openjdk to provide better user experience on Linux (like font rendering improvements and HiDPI support).


Yes, we provide 64-bit Java on Linux. If you are on a 32-bit system you have to install 32-bit Java 8 manually.


I have two Java 8 installed:


>la /Library/Java/JavaVirtualMachines                              

total 0

drwxr-xr-x  7 root  wheel  -  238B 13 Dez 17:56 ./

drwxrwxr-x  6 root  wheel  -  204B 13 Dez 17:56 ../

drwxr-xr-x  3 root  wheel  -  102B 14 Jul  2015 1.6.0.jdk/

drwxr-xr-x  3 root  wheel  -  102B 10 Dez 00:49 jdk1.7.0_45.jdk/

drwxr-xr-x  3 root  wheel  -  102B 10 Dez 01:12 jdk1.7.0_67.jdk/

drwxr-xr-x  3 root  wheel  -  102B 10 Dez 00:26 jdk1.8.0_20.jdk/

drwxr-xr-x  3 root  wheel  -  102B 10 Dez 01:13 jdk1.8.0_66.jdk/


Why do you show an error message telling me too install one. Now i have to read tons of doku, change config files and whatever else. How about you make it that is “just works”. It is not that difficult to look in /Library/Java/JavaVirtualMachines for a java which will do the trick.


It just works if you didn't modify any .properties files overriding the Java version since Java 8 is bundled by default. See


Everything correct and you still use the wrong Java:

~ Darwin martin@iMac Sa Mär 26 11:30:35 standart 0

>echo $JAVA_HOME


~ Darwin martin@iMac Sa Mär 26 11:30:40 standart 0

>echo $JDK_HOME


~ Darwin martin@iMac Sa Mär 26 11:30:44 standart 0

>java -version

java version "1.8.0_77"

Java(TM) SE Runtime Environment (build 1.8.0_77-b03)

Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

~ Darwin martin@iMac Sa Mär 26 11:30:49 standart 0

>/Applications/Developer/IntelliJ\ IDEA\

2016-03-26 11:30:57.410 idea[2046:25499] Value of IDEA_JDK: (null)

2016-03-26 11:30:57.416 idea[2046:25505] fullFileName is: /Applications/Developer/IntelliJ IDEA

2016-03-26 11:30:57.416 idea[2046:25505] fullFileName exists: /Applications/Developer/IntelliJ IDEA

2016-03-26 11:30:57.417 idea[2046:25505] Value of IDEA_VM_OPTIONS is (null)

2016-03-26 11:30:57.417 idea[2046:25505] Processing VMOptions file at /Applications/Developer/IntelliJ IDEA

2016-03-26 11:30:57.417 idea[2046:25505] Done


Unsupported Java Version: Cannot start under Java 1.6.0_65-b14-468-11M4833: Java 1.8 or later is required.

~ Darwin martin@iMac Sa Mär 26 11:30:58 standart 10


What a pain. But wait. What is IDEA_JDK?

/Applications/Developer/IntelliJ\ IDEA\

Attach the output again.


The following did the trick:

typeset -x -g IDEA_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk

Interesting. Why was it null? And no I did not change any property files. At least not since the update from IDEA 15.


IDEA_JDK is not needed, by default IDE will use the bundled JDK.


The requested output from a fresh command line (to make it fail):


>/Applications/Developer/IntelliJ\ IDEA\

2016-03-26 11:40:21.640 idea[2520:32862] Value of IDEA_JDK: (null)

2016-03-26 11:40:21.640 idea[2520:32862] Reading at /Users/martin/Library/Preferences/IdeaIC2016.1/ OK

2016-03-26 11:40:21.642 idea[2520:32862] Found Java Virtual Machines:

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk

2016-03-26 11:40:21.642 idea[2520:32862] /Applications/Developer/IntelliJ IDEA

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/1.6.0.jdk

2016-03-26 11:40:21.642 idea[2520:32862] Required VMs: 1.6*

2016-03-26 11:40:21.642 idea[2520:32862] Chosen VM:

2016-03-26 11:40:21.642 idea[2520:32862] /Library/Java/JavaVirtualMachines/1.6.0.jdk

2016-03-26 11:40:21.647 idea[2520:32873] fullFileName is: /Applications/Developer/IntelliJ IDEA

2016-03-26 11:40:21.647 idea[2520:32873] fullFileName exists: /Applications/Developer/IntelliJ IDEA

2016-03-26 11:40:21.647 idea[2520:32873] Value of IDEA_VM_OPTIONS is (null)

2016-03-26 11:40:21.647 idea[2520:32873] Processing VMOptions file at /Applications/Developer/IntelliJ IDEA

2016-03-26 11:40:21.647 idea[2520:32873] Reading at /Applications/Developer/IntelliJ IDEA OK

2016-03-26 11:40:21.647 idea[2520:32873] Done


Unsupported Java Version: Cannot start under Java 1.6.0_65-b14-468-11M4833: Java 1.8 or later is required.


Interesting again: Required VMs: 1.6* — where did that one come from? I checked the Info.plist — it correctly requests 1.8.


It comes from your /Users/martin/Library/Preferences/IdeaIC2016.1/ file which was migrated from the previous version, see that I've already linked above.


For PyCharm on Mac, the file name is pycharm.jdk and not charm.jdk as mentioned.

Run the following command in Terminal:

echo "/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk" > ${HOME}/Library/Preferences/PyCharm2016.1/pycharm.jdk

Replacing the string "jdk1.8.0_77" with whatever version of Java you have installed.


Hello! I've just installed PyCharm 2016.1.3, since i'm on windows and i need to run 64-bit (i need to use the ODBC data sources on the machine), i need to install JDK 8. The JDK available to my firm is only JDK 1.8.0_05. I've defined PYCHARM_JDK variable and pointed it to:

C:\Program Files\Java\jdk1.8.0_05.

PyCharm now starts, but it doesn't support 64-bit functionality, meaning, my ODBC data sources are not supported and i'm receiving an error when i try to run a query against them:

Exception in thread "main" java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

I confirm that PyCharm is running as 64-bit:

PyCharm 2016.1.3
Build #PY-145.971, built on May 3, 2016
JRE: 1.8.0_05-b13 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation

So, is this JDK not supported or is this an issue?


It's unrelated to JDK, please submit a ticket to support and attach a screenshot with your JDBC driver configuration (jar files) in the database connection properties.


WIth the release of IntelliJ 2016.2, I see this noted in the blog post announcing it:


Last but not least, the Windows installer now includes our custom JDK build with fixes that address focus and font rendering issues.

But it appears that is still just the 32-bit JDK (or it seems JRE as that's what the directory is called: "IntelliJ IDEA 2016.2\jre". Is this correct? If we use the 64-bit version do we still have to point IDEA_JDK_64 to our own install? (Seems so from the experimenting I've done.)

Is the 64-bit version slated to get a bundled JDK/JRE build with fixes for these issues at some point? 

Also, idea.bat seems to only want to run idea.exe the way it is written. In fact, it has one issue around 10 lines down where it is using the variable %BITS% which hasn't been set yet. That seems bad to me.





Only 32-bit JDK is bundled, just like before. What has changed is that we bundle our custom OpenJDK instead of Oracle JDK like we did before.

64-bit version of the custom OpenJDK is available at

Thanks for pointing to the %BITS% issue in idea.bat, we'll investigate it.


Please sign in to leave a comment.

Have more questions?

Submit a request