首頁 >Java >java教程 >Java 9中的多版本相容jar的用途是什麼?

Java 9中的多版本相容jar的用途是什麼?

WBOY
WBOY轉載
2023-09-06 16:49:07575瀏覽

Java 9中的多版本兼容jar的用途是什么?

多版本相容的JAR功能允許我們在特定版本的Java環境中執行庫程式時,選擇使用我們想要的類別的版本。我們可以透過--release參數指定編譯的版本。

一個特定的變化是在META-INF目錄下的MANIFEST.MF檔案中有一個新的屬性,如下所示

<strong>Multi-Release: true</strong>

META-INF」目錄下多了一個新的版本目錄。如果我們要支援Java 9版本,則versions目錄下方有一個9目錄。

<strong>multirelease.jar
├── META-INF
│   └── versions
│       └── 9
│           └── multirelease
│               └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class</strong>

在下面的範例中,我們可以使用一個多版本相容的JAR函數從"Test.java"檔案產生兩個版本的jar包。一個版本是jdk 7,另一個版本是jdk 9,然後我們在不同的環境中執行它。

第一步:C:/test/java7/com/tutorialspoint目錄下建立一個資料夾,並在該資料夾中建立一個"Test.java"文件,如下所示:

<strong>package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 7");
   }
}</strong>

第二步:建立資料夾C:/test/java9/com/tutorialspoint,並建立一個「Test.java」該資料夾中的strong>」檔案如下:

<strong>package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 9");
   }
}</strong>

我們可以按照以下方式編譯程式碼:

<strong>C:\test> javac --release 9 java9/com/tutorialspoint/Test.java
C:\test> javac --release 7 java7/com/tutorialspoint/Test.java</strong>

我們可以用以下方式建立一個多版本相容的jar套件

<strong>C:\JAVA> jar -c -f test.jar -C java7 . --release 9 -C java9
Warning: entry META-INF/versions/9/com/tutorialspoint/Test.java, multiple resources with same name</strong>

使用JDK 7來執行:

<strong>C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 7</strong>

#使用JDK 9來執行:

<strong>C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 9</strong>

以上是Java 9中的多版本相容jar的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除