此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1! |
生成构建信息
Spring Boot Actuator 的终结点会在文件存在的情况下自动发布有关构建的信息。
提供了 BuildInfo
任务来生成此文件。
使用该任务的最简单方法是通过插件的 DSL:info
META-INF/build-info.properties
-
Groovy
-
Kotlin
springBoot {
buildInfo()
}
springBoot {
buildInfo()
}
这将配置一个名为 and 的 BuildInfo
任务,如果它存在,则使 Java 插件的任务依赖于它。
任务的目标目录将位于主源集资源的输出目录中(通常为 )。bootBuildInfo
classes
META-INF
build/resources/main
默认情况下,生成的生成信息派生自项目:
财产 | 默认值 |
---|---|
|
或任务的基本名称 |
|
项目组 |
|
项目名称 |
|
项目的版本 |
|
项目构建的时间 |
可以使用 DSL 自定义属性:
-
Groovy
-
Kotlin
springBoot {
buildInfo {
properties {
artifact = 'example-app'
version = '1.2.3'
group = 'com.example'
name = 'Example application'
}
}
}
springBoot {
buildInfo {
properties {
artifact.set("example-app")
version.set("1.2.3")
group.set("com.example")
name.set("Example application")
}
}
}
若要从生成的生成信息中排除任何默认属性,请将其名称添加到排除项中。
例如,可以按如下方式排除该属性:time
-
Groovy
-
Kotlin
springBoot {
buildInfo {
excludes = ['time']
}
}
springBoot {
buildInfo {
excludes.set(setOf("time"))
}
}
的默认值是生成项目的那一刻。
这样做的副作用是任务永远不会是最新的。
因此,构建将需要更长的时间,因为必须执行更多的任务,包括项目的测试。
另一个副作用是任务的输出总是会发生变化,因此,构建将无法真正重复。
如果对生成性能或可重复性的重视程度高于属性的准确性,请排除该属性,如前面的示例所示。build.time
build.time
time
还可以将其他属性添加到生成信息中:
-
Groovy
-
Kotlin
springBoot {
buildInfo {
properties {
additional = [
'a': 'alpha',
'b': 'bravo'
]
}
}
}
springBoot {
buildInfo {
properties {
additional.set(mapOf(
"a" to "alpha",
"b" to "bravo"
))
}
}
}
可以使用 延迟计算其他属性的值。Provider
财产 | 默认值 |
---|---|
|
或任务的基本名称 |
|
项目组 |
|
项目名称 |
|
项目的版本 |
|
项目构建的时间 |