jlink と呼ばれる新しいツールが Java 9 で導入され、モジュラー ランタイム イメージの作成が可能になりました。これらのランタイム イメージは、一連のモジュールとその依存関係のコレクションに他なりません。 Java 拡張提案、JEP 220 は、このランタイム イメージの構造を管理します。
JLink ツールは、一連のモジュールとその推移的な依存関係をリンクしてランタイム イメージを作成する、リンク時間と呼ばれる、コンパイル時とランタイムの間のオプション フェーズを提供するように設計されています。 JLink を使用すると、展開が簡単になり、アプリケーションのサイズも縮小されます。
jLink の呼び出し構文は次のとおりです。
jlink --module-path [modulepath] --add-modules [modules] --limit-modules [modules] --output [path]
ここで、
–module-path – jLink はモジュール パスを使用して、モジュラー jar、JMOD ファイルなどのモジュールを検索します
–add-modules – ランタイム イメージのデフォルトのモジュール セットに含める必要があるモジュールについて言及します。デフォルトのモジュール セットは空です。
–limit-modules – このオプションを使用して、アプリケーションに必要なモジュールを制限します。
–出力 – 最終的なランタイム イメージは出力ディレクトリに保存されます
–help – jLink オプションの詳細を一覧表示
–バージョン – バージョン番号を表示
jlink コマンドの実行中に以下のエラーが発生した場合:
jlink: command not found
選択したディストリビューションに従って、以下のパッケージをインストールできます。
分布 | コマンド |
---|---|
Debian | apt-get install openjdk-12-jdk-headless |
Ubuntu | apt-get install openjdk-9-jdk-headless |
Arch Linux | pacman -S jdk10-openjdk |
カリ Linux | apt-get install openjdk-11-jdk-headless |
Fedora | dnf install java-9-openjdk-devel-debug-1 |
Raspbian | apt-get install openjdk-9-jdk-headless |
結論
JDK 9 の新しいツールは jlink コマンドです。これは、カスタム ランタイム イメージを作成するための Java のリンカーです。特定のアプリまたはアプリのセットをカスタム ランタイムで実行するために必要なものだけを含めることができます。たとえば、GUI をサポートしないデバイス用のランタイムを作成する場合、Swing と JavaFX をサポートする対応するモジュールなしでランタイムを作成できます。