OpenJDK 11 is a Long-Term Support (LTS) release of the Java platform.

For a list of major changes from OpenJDK 8 (java-1.8.0-openjdk), see the upstream release page for OpenJDK 11 and the preceding interim releases:

Rebuilding the OpenJDK package

The OpenJDK packages are now created from a single build which is then packaged for different major versions of Red Hat Enterprise Linux (RHEL). This allows the OpenJDK team to focus their efforts on the development and testing of this single build, rather than having multiple builds which only differ by the platform they were built on.

This does make rebuilding the package slightly more complicated than a normal package. Modifications should be made to the java-11-openjdk-portable.specfile file, which can be found with this README file in the source RPM or installed in the documentation tree by the java-11-openjdk-headless RPM.

Once the modified java-11-openjdk-portable RPMs are built, they should be installed and will produce a number of tarballs in the /usr/lib/jvm directory. The java-11-openjdk RPMs can then be built, which will use these tarballs to create the usual RPMs found in RHEL. The java-11-openjdk-portable RPMs can be uninstalled once the desired final RPMs are produced.

Note that the java-11-openjdk.spec file has a hard requirement on the exact version of java-11-openjdk-portable to use, so this will need to be modified if the version or rpmrelease values are changed in java-11-openjdk-portable.specfile.

To reduce the number of RPMs involved, the fastdebug and slowdebug builds may be disabled using --without fastdebug and --without slowdebug.