小ネタです。地味に知らなかったので、自分で纏めました。
環境
- Java
- 15
- Gradle
- 6.6.1
※ なお、Spring Initializr で生成されていることを想定しています。
コマンド
次のコマンドでビルドすることを想定しています。
./gradlew build
指定したファイル名で固定化したい場合
bootJarタスクのarchiveFileNameを指定すると、ビルドファイル名を固定化することができます。
ファイル名:build.gradle
bootJar{ archiveFileName = 'test.jar' // 生成されるファイル:test.jar }
archiveFileNameについて、Gradleの公式を引用します。
The archive name. If the name has not been explicitly set, the pattern for the name is: [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]
ファイル名をある程度可変にしたい場合
公式引用の通り、archiveFileNameを指定していない場合、他の項目を設定するとファイル名になります。可変にしたい項目があれば、こちらを設定するべきでしょう。
bootJar{ archiveBaseName = 'base' archiveAppendix = 'add' archiveVersion = '0.1' archiveClassifier = 'gorilla' archiveExtension = 'jar' // 生成されるファイル:base-add-0.1-gorilla.jar }
Spring Initializrでのデフォルト名
archiveXXXシリーズの変数を設定していない場合は、ルートプロジェクト名等から生成されます。
ファイル名:settings.gradle
rootProject.name = 'demo'
ファイル名:build.gradle
version = '0.0.1-SNAPSHOT' // 生成されるファイル:demo-0.0.1-SNAPSHOT.jar
終わりに
archiveFileNameさえ知っておけばいい気がします。
ハイフンでファイル名を繋ぎたくない、という目的がある場合は他に方法も無いみたいなので。
小ネタではありますが、ファイルを固定化しておけばDockerイメージ化やシェル等々が作りやすくなるので、ぜひ覚えていってください。
この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。
参考情報
- 生成されるjarファイルの名前
- Gradle公式:6.8.3