きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

Gradleでのビルド後のファイル名の設定方法

小ネタです。地味に知らなかったので、自分で纏めました。

環境

  • 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ファイルの名前 www.ne.jp

Gradle公式:6.8.3 docs.gradle.org

f:id:nainaistar:20210226180910p:plain