多版本 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 類。