プロジェクト

全般

プロフィール

jpackage

はてなブログに使い方の一例を記載
https://torutk.hatenablog.jp/entry/2020/07/18/220341

はじめに

jpackageは、Javaプログラムをその実行環境(JavaVM)と一緒に梱包して、実行したい環境のプログラム配布形式に適する形にまとめるツールです。プログラム配布形式は、Windows OSであれば、MSIファイルが該当し、Linux OSであればRPMファイルあるいはDEBファイルが該当し、macOSであればDMGファイルが該当します。

jpackageツールで作成されたプログラム配布形式を実行する環境にインストールすれば、別途Javaランタイム等をインストールすることなくJavaのプログラムを実行することができます。

jpackageツールの概要

公式ドキュメント

jpackageの利用に必要なもの

jpackageツールは、JDK 14から同梱されています。JDK 14では Incubator の位置づけです。JDK 16で正式搭載となりました。

JDK 14以降(jpackage)の他に、インストール先の配布形式を作成するためのツールが必要です。
MSIファイルを作成するには、Windows環境とその上でWiX Toolsetが必要です。
RPMあるいはDEBファイルを作成するには、Linux環境とその上でrpm-buildパッケージあるいはfakerootパッケージが必要です。
DMGファイルを作成するには、macOS環境とその上でXcodeコマンドラインツールが必要です。

処理概要

アプリケーションJARファイル
ライブラリJARファイル
リソースファイル
jpackage 配布形式ファイル
JDK

アプリケーションの実行に必要なJavaランタイムの抽出母体となるJDK、アプリケーションJARファイル、およびサードパーティライブラリJARファイル、実行時に必要とする各種リソースファイルを入力とし、jpackageツールは配布形式ファイルを生成します。

配布形式ファイルは、それ自体でアプリケーションを実行するのに必要なものをすべて持っているので(自己完結)、実行するマシンにJavaラインタイムがなくてもアプリケーションを動かすことができます。

なお、jpackageツールはJDK 14で含まれていますが、アプリケーションの実行に使うJavaランタイムはJDK 14でなくても別なバージョンを配布形式に含めることもできます。

h2.