Compile for older platform versions [JEP 247]
The Java Compiler, javac
, has been updated for Java 9 to ensure it can be used to compile Java programs to run on user-selected older versions of the Java platform. This was the focus of Java Enhancement Proposal 247, Compile for Older Platform Versions.
As you can see in the following screenshot, javac
has several options including -source
and -target
. The javac
presented in the following screenshot is from Java 8:
The -source
option is used to dictate the Java version accepted by the compiler. The -target
option informs which version of class files javac
will produce. By default, javac
generates class files in the most recent java version and that of the platform APIs. This can cause a problem when the compiled application uses APIs that are only available in the most recent platform version. This would render the application ineligible to run on older platform versions, despite what is dictated with the -source
and -target
options.
To address...