一個多版本所發布的jar檔(也稱為mrjar)包含了同一個函式庫的多個Jdk版本的發布。這意味著我們可以擁有一個適用於Jdk 9的mrjar庫。在mrjar中的程式碼包含了在Jdk 9中編譯的class檔案。使用Jdk 9編譯的類別可以利用Jdk 9提供的API。
這個mrjar可以擴充一個jar檔的已有目錄結構。它包含一個根目錄,其中包含了所有的內容,以及一個META-INF目錄,用於儲存關於該jar檔的元資料。通常,一個jar檔包含一個META-INF/MANIFEST.MF文件,其中包含了屬性。
jar檔案中的條目如下:
<strong>- jar-root - C1.class - C2.class - C3.class - C4.class - META-INF - MANIFEST.MF</strong>
In the above template, the jar contains four class files and a MANIFEST.MF file. The mrjar extends the META- INF directory to store classes that can be specific to the Jdk version. The META-INF directory contains version sub-directory that contains many sub-directories, each of them named the same as Jdk major version. For instance, the classes specific to Jdk 9, there is a META-INF/versions/9 directory. For classes specific to Jdk 10, there is META-INF/versions/10 .
<strong>- 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</strong>
以上是Java 9中的Multi-Release jar(mrjar)是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!