Java 9 - JAR Multirelease

Di java 9, fitur baru diperkenalkan di mana format jar telah ditingkatkan agar memiliki versi kelas java yang berbeda atau sumber daya dapat dipertahankan dan digunakan sesuai platform. Dalam JAR, file MANIFEST.MF file memiliki entri Multi-Release: true di bagian utamanya. Direktori META-INF juga berisi subdirektori versi yang subdirektorinya (dimulai dengan 9 untuk Java 9) menyimpan kelas khusus versi dan file sumber daya.

Dalam contoh ini, kita akan menggunakan jar multi-rilis untuk memiliki dua versi file Tester.java, satu untuk jdk 7 dan satu untuk jdk 9 dan menjalankannya pada versi jdk yang berbeda.

Langkah

Step 1- Buat folder c: / test / java7 / com / tutorialspoint. Buat Test.java dengan konten berikut -

Tester.java

package com.tutorialspoint;

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

Step 2- Buat folder c: / test / java9 / com / tutorialspoint. Buat Test.java dengan konten berikut -

Tester.java

package com.tutorialspoint;

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

Kompilasi kode sumber.

C:\test > javac --release 9 java9/com/tutorialspoint/Tester.java

C:\JAVA > javac --release 7 java7/com/tutorialspoint/Tester.java

Buat stoples multi-rilis

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

Jalankan dengan JDK 7

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

Jalankan dengan JDK 9

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