JEP 238: Multi-Release JAR Files extends the JAR file format to allow multiple, Java-release-specific versions of class/resource files to coexist in the same archive. This upgrade makes it easier for third-party libraries and frameworks to use language and API features introduced in newer Java releases. This post introduces you to multi-release JAR files.
Discovering multi-release JAR files
Many third-party Java frameworks and libraries support several versions of the Java platform. For example, as of version 4.0, the Spring Framework supports Java 6, 7, and 8. Java frameworks and libraries often don't leverage the language or API features that are available in newer Java releases because of the difficulty in expressing conditional platform dependencies (which generally involves using reflection) or in distributing different library artifacts for different platform versions. For example, Spring 4.x doesn't use any Java 8 language features in its own code. However, it can autodetect and automatically activate many Java 8 API features.
To read this article in full or to leave a comment, please click here
Read: Java 9's other new enhancements, Part 4: Multi-release JAR files