Java 9 でのマルチバージョン互換の jar の用途は何ですか?

WBOY
リリース: 2023-09-06 16:49:07
転載
567 人が閲覧しました

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

マルチバージョン互換の JAR 関数を使用すると、特定のバージョンのライブラリ プログラムを実行するときに、必要なクラスのバージョンの使用を選択できます。 Java 環境。 --release パラメータを通じてコン​​パイルされたバージョンを指定できます。

具体的な変更点の 1 つは、以下に示すように、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>
ログイン後にコピー

次の例では、「Test.java# #」の マルチバージョン互換 JAR 関数を使用できます。 #"このファイルは 2 つのバージョンの jar パッケージを生成します。 1 つのバージョンは jdk 7 で、もう 1 つのバージョンは jdk 9 であり、異なる環境で実行します。

ステップ 1: 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>
ログイン後にコピー

ステップ 2:

フォルダー C:/test/java9/com/tutorialspoint を作成し、" Test.java" ファイルを次のようにフォルダーに追加します:

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート