多版本 Jar 檔案內容的示例
通過在 MANIFEST.MF 檔案中設定 Multi-Release: true
,Jar 檔案成為多版本 Jar,Java 執行時(只要它支援 MRJAR 格式)將根據當前主要版本選擇適當的類版本。
這種 Jar 的結構如下:
jar root
- A.class
- B.class
- C.class
- D.class
- META-INF
- versions
- 9
- A.class
- B.class
- 10
- A.class
- 在 JDK <9 上,只有根條目中的類對 Java 執行時可見。
- 在 JDK 9 上,將從目錄
root/META-INF/versions/9
載入類 A 和 B,而從基本條目載入 C 和 D. - 在 JDK 10 上,將從目錄
root/META-INF/versions/10
載入 A 類。