Java 9 - JAR หลายรุ่น
ใน java 9 คุณลักษณะใหม่ถูกนำมาใช้ซึ่งรูปแบบ jar ได้รับการปรับปรุงให้มีคลาส java หรือทรัพยากรเวอร์ชันต่างๆสามารถดูแลและใช้งานได้ตามแพลตฟอร์ม ใน JAR ไฟล์ MANIFEST.MF จะมีรายการ Multi-Release: true ในส่วนหลัก ไดเร็กทอรี META-INF ยังมีไดเร็กทอรีย่อยเวอร์ชันที่มีไดเร็กทอรีย่อย (เริ่มต้นด้วย 9 สำหรับ Java 9) เก็บคลาสเฉพาะเวอร์ชันและไฟล์รีซอร์ส
ในตัวอย่างนี้เราจะใช้ jar แบบหลายรุ่นเพื่อให้มีไฟล์ Tester.java สองเวอร์ชันหนึ่งสำหรับ jdk 7 และอีกเวอร์ชันหนึ่งสำหรับ jdk 9 และเรียกใช้ในเวอร์ชัน jdk ที่แตกต่างกัน
ขั้นตอน
Step 1- สร้างโฟลเดอร์ c: / test / java7 / com / tutorialspoint สร้าง Test.java ด้วยเนื้อหาต่อไปนี้ -
Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 7");
}
}
Step 2- สร้างโฟลเดอร์ c: / test / java9 / com / tutorialspoint สร้าง Test.java ด้วยเนื้อหาต่อไปนี้ -
Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 9");
}
}
รวบรวมซอร์สโค้ด
C:\test > javac --release 9 java9/com/tutorialspoint/Tester.java
C:\JAVA > javac --release 7 java7/com/tutorialspoint/Tester.java
สร้างโถหลายรุ่น
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
รันด้วย JDK 7
C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 7
รันด้วย JDK 9
C:\JAVA > java -cp test.jar com.tutorialspoint.Tester
Inside Java 9