Java
 Computer >> コンピューター >  >> プログラミング >> Java

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


マルチバージョン互換のJAR 関数を使用すると、特定のバージョンのJava環境でライブラリプログラムを実行する場合にのみ使用するように選択したクラスのバージョンを作成できます。コンパイルされたバージョンは、「-release」で指定できます。 "パラメータ。

具体的な変更点は、「 MANIFEST.MF " META-INFの"ファイル "ディレクトリには以下のような新しい属性があります

Multi-Release: true
META-INF」の下に新しいバージョンのディレクトリがあります "ディレクトリ。Java9バージョンをサポートする場合は、versionsディレクトリの下に9ディレクトリがあります。

multirelease.jar
├── META-INF
│   └── versions
│       └── 9
│           └── multirelease
│               └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class


以下の例では、マルチバージョン互換のJARを使用できます。 「Test.java」から2つのバージョンのjarパッケージを生成する関数 "ファイル。1つのバージョンはjdk 7、別のバージョンは jdk 9 、その後、さまざまな環境で実行します。

最初のステップ: フォルダを作成しますC:/ test / java7 / com / tutorialspoint 、「 Test.java」を作成します "このフォルダ内のファイルは次のとおりです:

package com.tutorialspoint;

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

2番目のステップ: フォルダを作成しますC:/ test / java9 / com / tutorialspoint 、「 Test.java」を作成します "このフォルダ内のファイルは次のとおりです:

package com.tutorialspoint;

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


次のようにコードをコンパイルできます:

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


マルチバージョン互換のjarパッケージを作成できます 以下のように

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


JDK 7を使用して実行します:

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


JDK 9を使用して実行します:

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

  1. JavaのFontとFontMetricsの違いは何ですか?

    フォント クラスは画面のフォントを設定するために使用され、言語の文字をそれぞれのグリフにマップしますが、 FontMetrics クラスは、特定の画面での特定のフォントのレンダリングに関する情報をカプセル化するフォントメトリックオブジェクトを定義します。 フォント フォント クラスを使用して、フォントオブジェクトのインスタンスを作成できます 描画テキスト、ラベル、テキストフィールド、ボタンのフォントを設定します などで、名前、スタイル、サイズで指定できます。 フォントには、名前、論理名、顔の名前があります 家系の名前: これは、Courierなどのフォントの一般的な名前です。 論理

  2. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ