IntelliJ project migrates to Java 11

The source code of the IntelliJ project was recently migrated to Java 11. We still have some modules which are compiled to be compatible with older Java versions to support running users’ projects under these versions. However most of the platform and plugin modules use Java 11 now, and the upcoming 2020.3 versions of all IntelliJ-based IDEs will require Java 11 to start.

What does it mean for you? If you develop a plugin, you can use new language features and APIs from Java 11, but only if the since-build attribute in plugin.xml is set to 203. If your plugin distribution needs to run on multiple versions of the IDE, for example 202 and 203, then you should remain on Java 8.

If you want to compile the intellij-community project, you need to configure a JDK named corretto-11 pointing to an installation of JDK 11. It’s recommended to use Amazon Corretto JDK, but other distributions based on OpenJDK should work as well. You may download it directly from the Project Structure dialog. Note that there is no need to set up JDKs 1.8 and IDEA jdk anymore, corretto-11 is used to compile all the modules utilizing the cross-compilation feature for those which target older Java versions.

The IDEA run configuration which starts the IDE from sources now runs it under the JetBrains Runtime from the IntelliJ IDEA you’re working in. This way we ensure that IDE started from sources get improvements and fixes which are included into JetBrains Runtime but aren’t available in other OpenJDK-based distributions.

image description