我希望Spring Boot(1.2.4.RELEASE)应用程序中的/info
执行器端点返回build.gradle
文件中指定的版本。
在我的build.gradle
文件中,我有一行:
version = '0.0.1-SNAPSHOT'
我正在使用yaml配置文件。现在我在application.yml
:
info:
build:
version: 0.0.1-SNAPSHOT
这可能吗?
答案 0 :(得分:3)
将以下内容添加到build.gradleFile中。不必创建InfoContributor类。
FILE_FLAG_FIRST_PIPE_INSTANCE
查询http://host:port/actuator/info,您会看到类似...的信息
plugins {
id 'org.springframework.boot' version '<version>'
}
springBoot {
buildInfo()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
etc...
}
经过2.2.4.RELEASE测试
答案 1 :(得分:2)
这个确切的用例在Boot docs中详细说明:
所以在build.gradle中执行此操作
version = '0.0.1-SNAPSHOT'
processResources {
expand(project.properties)
}
您的application.yml
info:
build:
version: ${version}
确保逃避任何弹簧占位符,以免与Gradle冲突。两者都使用$ {}作为替换标记。 $ {key}应该成为\ $ {key}。这会影响src / main / resources中的任何内容。
清理/构建和部署war / jar。不要从IDE运行它,否则占位符将不会被替换。