Computer >> Máy Tính >  >> Lập trình >> Java

Việc sử dụng jar tương thích với nhiều phiên bản trong Java 9 là gì?


JAR tương thích với nhiều phiên bản hàm cho phép chúng tôi tạo phiên bản của một lớp mà chúng tôi chọn chỉ sử dụng khi chạy các chương trình thư viện trong một phiên bản cụ thể của môi trường Java. Chúng tôi có thể chỉ định phiên bản đã biên dịch thông qua " --release "tham số.

Một thay đổi cụ thể là " MANIFEST.MF "trong tệp" META-INF "thư mục có một thuộc tính mới như bên dưới

Multi-Release: true

Có một thư mục phiên bản mới trong " META-INF thư mục ". Nếu chúng tôi muốn hỗ trợ phiên bản Java 9, có một thư mục 9 trong thư mục phiên bản.

multirelease.jar
├── META-INF
│   └── versions
│       └── 9
│           └── multirelease
│               └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class


Trong ví dụ dưới đây, chúng tôi có thể sử dụng JAR tương thích với nhiều phiên bản hàm để tạo hai phiên bản của gói jar từ " Test.java "tệp. Một phiên bản là jdk 7 và một phiên bản khác là jdk 9 , sau đó chúng tôi thực thi nó trong các môi trường khác nhau.

Bước đầu tiên: Tạo thư mục C:/ test / java7 / com / tutorialspoint và tạo một " Test.java "trong thư mục này như bên dưới:

package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 7");
   }
}

Bước thứ hai: Tạo thư mục C:/ test / java9 / com / tutorialspoint và tạo một " Test.java "trong thư mục này như bên dưới:

package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 9");
   }
}


Chúng tôi có thể biên dịch mã như sau:

C:\test> javac --release 9 java9/com/tutorialspoint/Test.java
C:\test> javac --release 7 java7/com/tutorialspoint/Test.java


Chúng tôi có thể tạo gói jar tương thích với nhiều phiên bản như bên dưới

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


Sử dụng JDK 7 để thực thi:

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 7


Sử dụng JDK 9 để thực thi:

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 9