与 Actuator 集成
如果存在 META-INF/build-info.properties 文件,Spring Boot Actuator 会显示与构建相关的信息。build-info 目标会生成这样一个文件,其中包含项目的坐标和构建时间。它还允许你添加任意数量的额外属性,如下例所示:
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>build-info</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
<configuration>
<additionalProperties>
<encoding.source>UTF-8</encoding.source>
<encoding.reporting>UTF-8</encoding.reporting>
<java.version>${java.version}</java.version>
</additionalProperties>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
此配置将在预期位置生成一个 build-info.properties 文件,并包含三个额外的键。
java.version 预期为项目中可用的一个常规属性。它将按你预期的方式进行插值。
spring-boot:build-info
org.springframework.boot:spring-boot-maven-plugin:3.5.10
根据当前 MavenProject 的内容生成一个 build-info.properties 文件。
可选参数
| 名称 | 类型 | 默认值 |
|---|---|---|
| additionalProperties | Map | |
| excludeInfoProperties | List | |
| outputFile | File | ${project.build.outputDirectory}/META-INF/build-info.properties |
| skip | boolean | false |
| time | String | ${project.build.outputTimestamp} |
参数详情
additionalProperties
要存储在 build-info.properties 文件中的附加属性。每个条目在生成的 build-info.properties 中都会加上 build. 前缀。
additionalProperties | |
|---|---|
| 类型 | java.util.Map |
| 默认值 | |
| 用户属性 | |
| 起始版本 |
excludeInfoProperties
应排除在 build-info.properties 文件之外的属性。可用于排除标准的 group、artifact、name、version 或 time 属性,以及 additionalProperties 中的项。
excludeInfoProperties | |
|---|---|
| 类型 | java.util.List |
| 默认值 | |
| 用户属性 | |
| 起始版本 |
outputFile
生成的 build-info.properties 文件的位置。
outputFile | |
|---|---|
| 类型 | java.io.File |
| 默认值 | ${project.build.outputDirectory}/META-INF/build-info.properties |
| 用户属性 | |
| 自从 |
skip
跳过执行。
skip | |
|---|---|
| 类型 | boolean |
| 默认值 | false |
| 用户属性 | spring-boot.build-info.skip |
| 起始版本 | 3.1.0 |
time
用于 build.time 属性的值,其格式适用于 Instant#parse(CharSequence)。默认值为 project.build.outputTimestamp,如果该值未设置,则使用 session.request.startTime。若要完全禁用 build.time 属性,请使用 'off' 或将其添加到 excludeInfoProperties 中。
time | |
|---|---|
| 类型 | java.lang.String |
| 默认值 | ${project.build.outputTimestamp} |
| 用户属性 | |
| 起始版本 | 2.2.0 |