與 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.3.5

根據目前 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 檔案中排除的屬性。可用於排除標準的 groupartifactnameversiontime 屬性,以及來自 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.outputTimestampsession.request.startTime。若要完全停用 build.time 屬性,請使用 'off' 或將其新增至 excludeInfoProperties

名稱

time

類型

java.lang.String

預設值

${project.build.outputTimestamp}

使用者屬性

2.2.0