小编典典

将Gradle.build版本放入Spring Boot

spring-boot

我试图在视图中显示我的Spring Boot应用程序的应用程序版本。我确定我可以访问此版本信息,但我不知道如何操作。

我尝试了以下信息:https :
//docs.spring.io/spring-boot/docs/current/reference/html/production-ready-
endpoints.html
,并将其放在我的位置application.properties

info.build.version=${version}

然后将其加载@Value("${version.test}")到我的控制器中,但这不起作用,我只会收到类似以下的错误:

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'version' in string value "${version}"

关于将信息(如应用程序版本,Spring Boot版本等)获取到控制器中的正确方法有何建议?


阅读 394

收藏
2020-05-30

共1个答案

小编典典

参考文档中所述,您需要指示Gradle处理应用程序的资源,以便它将${version}占位符替换为项目的版本:

processResources {
    expand(project.properties)
}

为了安全起见,您可能希望缩小范围,以便仅application.properties处理:

processResources {
    filesMatching('application.properties') {
        expand(project.properties)
    }
}

现在,假设您的媒体资源名为info.build.version,则可以通过@Value以下方式使用:

@Value("${info.build.version}")
2020-05-30