Java 9 - Multirelease JAR
Trong java 9, một tính năng mới được giới thiệu trong đó định dạng jar đã được cải tiến để có các phiên bản khác nhau của lớp java hoặc tài nguyên có thể được duy trì và sử dụng theo nền tảng. Trong JAR, tệp MANIFEST.MF tệp có mục nhập Multi-Release: true trong phần chính của nó. Thư mục META-INF cũng chứa một thư mục con phiên bản có thư mục con (bắt đầu bằng 9 cho Java 9) lưu trữ các lớp và tệp tài nguyên dành riêng cho phiên bản.
Trong ví dụ này, chúng tôi sẽ sử dụng một jar nhiều bản phát hành để có hai phiên bản của tệp Tester.java, một cho jdk 7 và một cho jdk 9 và chạy nó trên các phiên bản jdk khác nhau.
Các bước
Step 1- Tạo thư mục c: / test / java7 / com / tutorialspoint. Tạo Test.java với nội dung sau:
Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 7");
}
}
Step 2- Tạo thư mục c: / test / java9 / com / tutorialspoint. Tạo Test.java với nội dung sau:
Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 9");
}
}
Biên dịch mã nguồn.
C:\test > javac --release 9 java9/com/tutorialspoint/Tester.java
C:\JAVA > javac --release 7 java7/com/tutorialspoint/Tester.java
Tạo bình nhiều bản phát hành
C:\JAVA > jar -c -f test.jar -C java7 . --release 9 -C java9.
Warning: entry META-INF/versions/9/com/tutorialspoint/Tester.java,
multiple resources with same name
Chạy với JDK 7
C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 7
Chạy với JDK 9
C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 9