为什么 spring-cloud-config 不扩展 spring-boot-actuator 的属性?
Why does spring-cloud-config not expand properties for spring-boot-actuator?
我设置了 spring-boot-actuator 和 spring-cloud-config。我设置了类似于以下内容的各种属性:
info.app.name=@project.name@
info.app.version=@project.version@
如果我将这些属性放在 application.properties 中,那么我会得到:
{
"app" : {
"name" : "project-name",
"version" : "1.2.3",
<more is ommitted>
但是如果我把它放在 spring-cloud-config 中,我会得到以下信息:
{
"app" : {
"name" : "@project.name@",
"version" : "@project.version@",
<more is ommitted>
我不明白为什么会这样,因为我希望配置能够为它提供服务,执行器能够扩展它。这是一个错误吗?
谢谢。
@project.name@
和 @project.version@
在 application.properties
中的分辨率是 performed at build time,不是在运行时。所以当你的应用程序运行时,jar文件中的application.properties
包含:
info.app.name=project-name
info.app.version=1.2.3
Spring Boot 或 Spring Cloud Config 中没有任何内容可以在运行时解析 @project.name@
等占位符,因此当这些属性从 Config Server 中提取时,您将获得文字属性值。
我设置了 spring-boot-actuator 和 spring-cloud-config。我设置了类似于以下内容的各种属性:
info.app.name=@project.name@
info.app.version=@project.version@
如果我将这些属性放在 application.properties 中,那么我会得到:
{
"app" : {
"name" : "project-name",
"version" : "1.2.3",
<more is ommitted>
但是如果我把它放在 spring-cloud-config 中,我会得到以下信息:
{
"app" : {
"name" : "@project.name@",
"version" : "@project.version@",
<more is ommitted>
我不明白为什么会这样,因为我希望配置能够为它提供服务,执行器能够扩展它。这是一个错误吗?
谢谢。
@project.name@
和 @project.version@
在 application.properties
中的分辨率是 performed at build time,不是在运行时。所以当你的应用程序运行时,jar文件中的application.properties
包含:
info.app.name=project-name
info.app.version=1.2.3
Spring Boot 或 Spring Cloud Config 中没有任何内容可以在运行时解析 @project.name@
等占位符,因此当这些属性从 Config Server 中提取时,您将获得文字属性值。