jpackageコマンドでfat.jarのインストーラを作成する方法を示します。
① 事前準備
Windows環境でjpackageを利用する場合、WiX 3.0が必要です。リリースページからwix311-binaries.zipをダウンロードして、PATHを通しておきます。
② jpackageコマンドの実行
ディレクトリ構成は以下の通りです。HelloWorld-0.0.1-SNAPSHOT.jarが対象のfat.jarです。
build
├─ exe
└─ lib
└ HelloWorld-0.0.1-SNAPSHOT.jar
jpackageコマンドを実行します。
- インストール先のフォルダを指定するダイアログ
- ショートカットへの追加するかどうかを選択するダイアログ
- スタートメニューへの追加するかどうかを選択するダイアログ
以上がそれぞれ必要なので、win-dir-chooser・win-shortcut・win-shortcut-promptオプションを指定します。
jpackage --type exe ^
--win-menu ^
--win-dir-chooser ^
--win-shortcut ^
--win-shortcut-prompt ^
--name SpringBootApp ^
--input build\lib ^
--dest build\exe ^
--main-jar HelloWorld-0.0.1-SNAPSHOT.jar
jpackageコマンドの実行に成功すると、destオプションに設定したフォルダにインストーラのexeファイルが作成されているはずです。
build
├─ exe
│ └ SpringBootApp-1.0.exe
└─ lib
└ HelloWorld-0.0.1-SNAPSHOT.jar
③ exeファイルの実行
exeファイルを実行すると、インストーラが起動します。
win-dir-chooserオプションを指定したので、インストール先のフォルダを指定することが可能です。
win-shortcut・win-shortcut-promptオプションを指定したので、スタートメニュー・ショートカットへの追加するかどうかを選択できます。
「インストール」ボタンを押下します。
インストールが完了したことを確認して、「完了」ボタンを押下します。
④インストール後の確認
デスクトップを確認すると、ショートカットが作成されています。
スタートメニューにも追加されています。
ショートカットもしくはスタートメニューから実行すると、アプリケーションが起動することが確認できました。
環境情報
D:\>javac -version
javac 21-beta
D:\>java -version
openjdk version "21-beta" 2023-09-19
OpenJDK Runtime Environment Temurin-21+35-202309042131 (build 21-beta+35-ea)
OpenJDK 64-Bit Server VM Temurin-21+35-202309042131 (build 21-beta+35-ea, mixed mode, sharing)