Bra*_*dek 12 gradle build.gradle spring-boot spring-boot-gradle-plugin
我在Gradle项目中使用Spring Boot 2在Jenkins中进行jar的构建,我想更改该jar文件的名称。
默认情况下,Spring Boot 2使用Gradle属性rootProject.name,可以在/settings.gradle文件中设置该属性。
但是,我想更改jar文件名,而不更改rootProject.name。
这是我bootJar和文件的springBoot各个部分build.gradle:
bootJar {
launchScript()
}
Run Code Online (Sandbox Code Playgroud)
。
springBoot {
buildInfo {
properties {
artifact = "jarName"
group = "groupName"
name = "projectName"
version = "1.0"
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意: artifact阅读后没有设置罐子名称,正如我期望的那样:https : //docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#integrating-with-actuator
Pla*_*nky 14
archiveFileName是新的热点。其他所有东西都已弃用。
bootJar {
archiveFileName = "${archiveBaseName.get()}.${archiveExtension.get()}"
}
Run Code Online (Sandbox Code Playgroud)
看到:
mrc*_*htr 10
您还可以使用:
tasks.bootJar {
archiveFileName.set("app.jar")
}
Run Code Online (Sandbox Code Playgroud)
或者使用 jar 插件
tasks.jar {
archiveFileName.set("app.jar")
}
Run Code Online (Sandbox Code Playgroud)
我的目标是从存档名称中删除版本。我是这样做的:
bootJar {
archiveName = "$baseName.$extension"
}
Run Code Online (Sandbox Code Playgroud)
现在 Gradle 生成“project-name.jar”而不是“project-name-1.0-SNAPSHOT.jar”。此解决方案是通用的,不会硬编码任何特定的存档名称。
由于bootJar任务扩展了,因此Jar您可以用来archiveName直接设置名称:
bootJar {
archiveName = 'whatever'
}
Run Code Online (Sandbox Code Playgroud)
在这里看看。
小智 7
对于 Gradle 6
bootJar {
archiveBaseName = 'freeway-server'
archiveVersion = '1.0.0'
archiveFileName = 'freeway-server.jar'
}
Run Code Online (Sandbox Code Playgroud)
忘记:-
System.out.print(bootJar.getArchiveBaseName().get())
System.out.print(bootJar.getArchiveVersion().get())
System.out.print(bootJar.getArchiveFileName().get())
Run Code Online (Sandbox Code Playgroud)
感谢@AndyWilkinson的回答!
bootJar {
baseName "jarName"
launchScript()
}
Run Code Online (Sandbox Code Playgroud)
。
springBoot {
buildInfo {
properties {
group = "groupName"
name = "projectName"
version = "1.0"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8402 次 |
| 最近记录: |