前提
- OS: Windows 10 Pro
- Java: openjdk version "14.0.1" 2020-04-14
- Gradle: Gradle 6.4.1
Java, Gradle にパスを通しておくこと。
プロジェクトの準備
プロジェクトのひな形作成
gradle init
で Java プロジェクトを作る。
> gradle init
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4] 2
Select implementation language:
1: C++
2: Groovy
3: Java
4: Kotlin
5: Swift
Enter selection (default: Java) [1..5] 3
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2] 1
Select test framework:
1: JUnit 4
2: TestNG
3: Spock
4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4] 4
Project name (default: first_step):
Source package (default: first_step): jp.dip.oyasirazu.study.java14.first_step
> Task :init
Get more help with your project: https://docs.gradle.org/6.4.1/userguide/tutorial_java_projects.html
BUILD SUCCESSFUL in 1m 5s
2 actionable tasks: 2 executed
試しに実行
> .\gradlew run
Downloading https://services.gradle.org/distributions/gradle-6.4.1-bin.zip
.........10%..........20%..........30%..........40%.........50%..........60%..........70%..........80%.........90%..........100%
> Task :run
Hello world.
BUILD SUCCESSFUL in 34s
2 actionable tasks: 2 executed
> .\gradlew test
BUILD SUCCESSFUL in 15s
3 actionable tasks: 2 executed, 1 up-to-date
module-info.java
作成
./src/main/java/module-info.java
に以下ファイルを作成。
module main {
}
ビルド。
.\gradlew.bat build
Java アプリケーションのパッケージング
WIX Toolset のインストール
WiX Toolset をインストールする。
今回は Chocolatey Software | WiX Toolset 3.11.2 でインストール。
choco install wixtoolset
最小ランタイム作成
ビルドしてランチャー付き最小ランタイムを作成。
jlink --compress 2 --strip-debug --no-header-files --no-man-pages --module-path ./build/libs/first_step.jar --add-modules main --output ./release/app --launcher first_step=main/jp.dip.oyasirazu.study.java14.first_step.App
./release/app
に生成される。
インストーラー作成
jpackage -n first_step --app-image ./release/app --dest ./release/package --vendor "mikoto2000" --win-dir-chooser
-n
: アプリケーション名--app-image
: アプリイメージ。jlink
で作ったディレクトリを指定する--dest
: 出力先ディレクトリ。このディレクトリに[アプリケーション名].exe
が生成される--vendor
: Windows だと入れないとエラーになるようだ--win-dir-chooser
: ユーザーにインストール場所を選択させるためのフラグ
./release/package/first_step-1.0.exe
が生成される。
インストール
./release/package/first_step-1.0.exe
をダブルクリックするとインストーラーが起動するのでインストールする。
実行
[インストールディレクトリ]/bin
にパスを通して実行する。
> $Env:Path='C:\Program Files\first_step\bin\;'+$Env:Path
> first_step.bat
Hello world.
以上。