我试图在视图中显示我的Spring Boot应用程序的应用程序版本。我确定我可以访问此版本信息,但我不知道如何操作。
我尝试了以下信息:https : //docs.spring.io/spring-boot/docs/current/reference/html/production-ready- endpoints.html,并将其放在我的位置application.properties:
application.properties
info.build.version=${version}
然后将其加载@Value("${version.test}")到我的控制器中,但这不起作用,我只会收到类似以下的错误:
@Value("${version.test}")
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'version' in string value "${version}"
关于将信息(如应用程序版本,Spring Boot版本等)获取到控制器中的正确方法有何建议?
如参考文档中所述,您需要指示Gradle处理应用程序的资源,以便它将${version}占位符替换为项目的版本:
${version}
processResources { expand(project.properties) }
为了安全起见,您可能希望缩小范围,以便仅application.properties处理:
processResources { filesMatching('application.properties') { expand(project.properties) } }
现在,假设您的媒体资源名为info.build.version,则可以通过@Value以下方式使用:
info.build.version
@Value
@Value("${info.build.version}")