Multi-version compatible JAR function allows us to choose to use the version of the class we want when running the library program in a specific version of the Java environment . We can specify the compiled version through the --release parameter.
One specific change is that there is a new attribute in the MANIFEST.MF file in the META-INF directory, as shown below
<strong>Multi-Release: true</strong>## There is a new version directory under the #"
META-INF" directory. If we want to support Java 9 version, there is a 9 directory under the versions directory.
<strong>multirelease.jar ├── META-INF │ └── versions │ └── 9 │ └── multirelease │ └── Helper.class ├── multirelease ├── Helper.class └── Main.class</strong>In the following example, we can use a
Multi-version compatible JAR function from "Test.java"The file generates two versions of jar packages. One version is jdk 7 and the other version is jdk 9, and then we execute it in different environments.
Step one: Create a folder in the C:/test/java7/com/tutorialspoint directory and create a "# in the folder ##Test.java" file, as shown below: <strong>package com.tutorialspoint;
public class Test {
public static void main(String args[]) {
System.out.println("Inside Java 7");
}
}</strong>
Create the folder C:/test/java9/com/tutorialspoint, and create a "Test.java" file in the folder as follows: <strong>package com.tutorialspoint;
public class Test {
public static void main(String args[]) {
System.out.println("Inside Java 9");
}
}</strong>
We can follow the following Method to compile code:
<strong>C:\test> javac --release 9 java9/com/tutorialspoint/Test.java C:\test> javac --release 7 java7/com/tutorialspoint/Test.java</strong>##We can create a
multi-version compatible jar package in the following way
<strong>C:\JAVA> jar -c -f test.jar -C java7 . --release 9 -C java9 Warning: entry META-INF/versions/9/com/tutorialspoint/Test.java, multiple resources with same name</strong>Use JDK 7 to execute:
<strong>C:\JAVA> java -cp test.jar com.tutorialspoint.Test Inside Java 7</strong>
##Use JDK 9 to execute:
<strong>C:\JAVA> java -cp test.jar com.tutorialspoint.Test Inside Java 9</strong>
The above is the detailed content of What is the use of multi-version compatible jars in Java 9?. For more information, please follow other related articles on the PHP Chinese website!