I am using Spring Boot 2 in my Gradle project to do a build to jar in Jenkins, and I would like to change the name of that jar file.
By default, Spring Boot 2 used the Gradle property rootProject.name
, which can be set in the /settings.gradle
file.
However, I would like to change the jar file name, without changing the rootProject.name
.
Here are my bootJar
and springBoot
sections of the build.gradle
file:
bootJar {
launchScript()
}
.
springBoot {
buildInfo {
properties {
artifact = "jarName"
group = "groupName"
name = "projectName"
version = "1.0"
}
}
}
Note: artifact
is not setting the jar name, as I expected it to, after reading: https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#integrating-with-actuator
Since
bootJar
tasks extendsJar
you can usearchiveName
to set name the directly:Have a look here.
Thanks to @AndyWilkinson for the answer!
.
My goal was to remove version from the archive name. I did it this way:
Now Gradle generates "project-name.jar" instead of "project-name-1.0-SNAPSHOT.jar". This solution is general and doesn't hardcode any particular archive name.
archiveFileName
is the new hotness. Everything else is deprecated.Additionally,
baseName
andextention
say they are deprecated, but their replacements,archiveBaseName
andarchiveExtention
currently print out gibberish for me in gradle 5.1.See: https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveName