April 2018
Intermediate to advanced
246 pages
6h 11m
English
We have seen many third-party libraries, support for several Java versions with backward compatibility. Because of this, they don't use the latest API features introduced in new releases of JDK. Since Java 8, there is no facility to define condition-based platform dependencies for using new features.
Java 9 introduced a multi-release jar concept. It allows developers to create alternative versions of each class, which are only used when running on specific Java versions.

The preceding diagram shows the structure of a multi-release jar. It contain resources and classes along with the Meta-INF directory for metadata. ...