JetBrains Runtime is a fork of OpenJDK available for Windows, Mac OS X, and Linux. It supports enhanced class redefinition (DCEVM), features optional JCEF, a framework for embedding Chromium-based browsers, includes a number of improvements in font rendering, keyboards support, windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration and bugfixes not yet present in OpenJDK.
NOTE: This is a development branch that is periodically synchronized with the OpenJDK master branch.
Release builds are based on these branches:
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list can be found on the releases page.
IDE Version | Latest JBR | Date Released |
---|---|---|
2024.3 | 21.0.5-b631.8 | 19-Nov-2024 |
2024.2 | 21.0.4-b509.26 | 08-Oct-2024 |
2024.1 | 21.0.2-b346.3 | 30-Jan-2024 |
IDE Version | Latest JBR | Date Released |
---|---|---|
2024.2 | 17.0.11-b1312.2 | 18-Jun-2024 |
2024.1 | 17.0.12-b1207.37 | 15-Oct-2024 |
2023.3 | 17.0.12-b1087.25 | 02-Sep-2024 |
2023.2 | 17.0.12-b1000.54 | 02-Sep-2024 |
2023.1 | 17.0.10-b829.27 | 21-Mar-2024 |
2022.3 | 17.0.6-b653.34 | 28-Feb-2023 |
2022.2 | 17.0.6-b469.82 | 06-Mar-2023 |
IDE Version | Latest JBR | Date Released |
---|---|---|
2022.1 | 11_0_16-b2043.64 | 10-Nov-2022 |
2021.3 | 11_0_14_1-b1751.46 | 21-Feb-2022 |
2021.2 | 11_0_13-b1504.49 | 15-Nov-2021 |
2021.1 | 11.0.11+9-b1341.60 | 15-Jun-2021 |
2020.3 | 11_0_10-b1145.115 | 21-Jun-2021 |
- Embedded browser: JetBrains Runtime includes the Java Chromium Embedded Framework (JCEF), which enables you to embed a Chromium-based browsers in your JVM-based application. To use it, download a build with JCEF.
- Enhanced class re-definition with the DCEVM technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with
-XX:+AllowEnhancedClassRedefinition
. - Better FPS performance for graphics-intensive applications.
- Improved font rendering, keyboard input (such as shortcuts and multinational keyboards), HiDPI and accessibility support.
- Robust desktop experience: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.
- Android Studio. The official IDE for Google's Android operating system.
- CLion. A cross-platform IDE for C and C++ from JetBrains.
- DataGrip. The IDE for Databases and SQL from JetBrains.
- GoLand. The cross-platform Go IDE from JetBrains.
- IntelliJ IDEA. The IDE for JVM from JetBrains.
- JProfiler. The Java profiler.
- PhpStorm. The PHP IDE from JetBrains.
- PyCharm. The Python IDE from JetBrains.
- Rider. The cross-platform .NET IDE from JetBrains.
- RubyMine. The Ruby and Rails IDE from JetBrains.
- Toolbox App. JetBrains IDE manager.
- WebStorm. The JavaScript IDE from JetBrains.
- YourKit. Java and .NET profilers.
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
Here are quick per-platform instructions for those who can't wait to get started. Please refer to OpenJDK build docs for in-depth coverage of all the details.
TIP: To get a preliminary report of what's missing, run
./configure
and check its output. It would usually have meaningful advice on how to solve the problem.
Create a container (use the mkdocker...
variant for your architecture):
$ cd jb/project/docker
$ ./mkdocker_x86_64.sh
...
Successfully built 942ea9900054
Run these commands in the new container:
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images
Install the necessary tools, libraries, and headers with:
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev libwayland-dev \
wayland-protocols libxkbcommon-x11-0
Get Java 23 (for instance, Azul Zulu Builds of OpenJDK 23).
Then run the following:
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
This will build the release configuration under ./build/linux-x86_64-server-release/
.
- Cygwin x64.
Required packages:
autoconf
,binutils
,cpio
,diffutils
,file
,gawk
,gcc-core
,make
,m4
,unzip
,zip
.
Install those together with Cygwin. - Visual Studio compiler toolset. Install with the desktop development kit, which includes Windows SDK and compilers. Visual Studio 2019 is supported by default.
- Java 21 (for instance, Azul Zulu Builds of OpenJDK 21). If you have problems while configuring, read Java tips on Cygwin.
From the command line:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
This will build the release configuration under ./build/windows-x86_64-server-release/
.
If you want to add support of a11y announcing via NVDA screen reader, you will need to bundle the NVDA Controller Client library. You can do it with the following steps:
- Download the NVDA Controller Client library. You can find the link in its official README here
- Pass the path to the unpacked package to
configure
via an additional flag--with-nvdacontrollerclient=<path>
. The build system will search the required library files under<path>/<target-arch>
.
JBR is built with built-in support of JAWS screen reader.
If you want to disable it, run configure
with the additional flag --disable-jaws-client
.
Install the following:
- Xcode command line developer tools and
autoconf
via Homebrew. - Java 21 (for instance, Azul Zulu Builds of OpenJDK 21).
From the command line:
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
This will build the release configuration under ./build/macosx-x86_64-server-release/
.
You can use CLion to develop native parts of the JetBrains Runtime and IntelliJ IDEA for the parts written in Java. Both require projects to be created.
Run
$ make compile-commands
in the git root and open the resulting build/.../compile_commands.json
file as a project.
Then use Tools | Compilation Database | Change Project Root
to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms: How to develop OpenJDK with CLion.
Run
$ sh ./bin/idea.sh
in the git root to generate project files (add --help
for options). If you have multiple
configurations (for example, release
and fastdebug
), supply the --conf <conf_name>
argument.
Then open the git root directory as a project in IDEA.
We are happy to receive your pull requests! Before you submit one, please sign our Contributor License Agreement (CLA).