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 |
-XX:+AllowEnhancedClassRedefinition
.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/
.
autoconf
, binutils
, cpio
, diffutils
, file
, gawk
, gcc-core
, make
, m4
, unzip
, zip
.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:
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:
autoconf
via Homebrew.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).