Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Multi-Release jar (mrjar) ใน Java 9 คืออะไร


A โถแบบหลายรุ่น (เรียกอีกอย่างว่า mrjar ) มีไลบรารีรุ่นเดียวกันสำหรับหลาย Jdk เวอร์ชัน . หมายความว่าเราสามารถมีห้องสมุดเป็น mrjar ที่ใช้ได้กับ Jdk 9 รหัสใน mrjar มี คลาส ไฟล์ เรียบเรียงใน Jdk 9 . คลาสที่คอมไพล์ด้วย Jdk 9 อาจใช้ประโยชน์จาก API ที่ Jdk 9 นำเสนอ

The นายจาร์ สามารถขยายโครงสร้างไดเร็กทอรีที่มีอยู่แล้วของ jar ประกอบด้วย ไดเรกทอรีราก ที่ซึ่งเนื้อหาทั้งหมดอยู่และ META-INF ไดเรกทอรี ที่เคยใช้เก็บ เมตาดาต้า เกี่ยวกับโถ โดยทั่วไป ขวดโหลจะมี META-INF/MANIFEST.MF ไฟล์ที่มีแอตทริบิวต์

รายการในโถดังต่อไปนี้:

- jar-root
- C1.class
- C2.class
- C3.class
- C4.class
- META-INF
- MANIFEST.MF

ในเทมเพลตด้านบน jar มีไฟล์คลาสสี่ไฟล์และ MANIFEST.MF ไฟล์. mrjar ขยายไดเร็กทอรี META-INF เพื่อจัดเก็บคลาสที่สามารถระบุได้เฉพาะกับเวอร์ชัน Jdk META-INF ไดเรกทอรีมี รุ่น ไดเร็กทอรีย่อยที่มีไดเร็กทอรีย่อยหลายไดเร็กทอรี แต่ละไดเร็กทอรีมีชื่อเหมือนกับเวอร์ชันหลักของ Jdk ตัวอย่างเช่น คลาสเฉพาะสำหรับ Jdk 9 มีไดเร็กทอรี META-INF/versions/9 . สำหรับคลาสเฉพาะสำหรับ Jdk 10 มี META-INF/versions/10 .

- jar-root
 - C1.class
 - C2.class
 - C3.class
 - C4.class
- META-INF
 - MANIFEST.MF
 - versions
 - 9
  - C2.class
  - C5.class
 - 10
  - C1.class
  - C2.class
  - C6.class