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