如何在/ info执行器端点获得弹簧启动的版本

时间:2017-04-21 14:06:17

标签: spring-boot spring-boot-actuator

可以通过添加${spring-boot.version}

在banner.txt中包含Spring Boot的版本

如何为/ info执行器端点执行相同操作。 我试过添加两个

info.app.spring-boot.version=${spring-boot.version}

info.app.spring-boot.version=@spring-boot.version@

到我的应用程序属性,但没有运气。 / info端点将打印“$ {spring-boot.version}”(或“@ spring-boot.version @”),不解析占位符变量

我的下一个想法是为spring boot版本创建一个maven属性,并在父节中引用它,如此

<properties>
    <spring.boot.version>1.5.3.RELEASE</spring.boot.version>
</properties

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${spring.boot.version}</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

但这不起作用,因为maven在处理部分

后解析了占位符变量

更新: 以下工作正常,但并不理想

@Component
public class MyInfoContributor implements InfoContributor {
    @Override
    public void contribute(Info.Builder builder) {

        builder.withDetail("spring-boot.version", SpringBootVersion.getVersion());
    }
}

1 个答案:

答案 0 :(得分:0)

这应该有效:

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <additionalProperties>
      <spring-boot-version>${spring.boot.version}</spring-boot-version>
    </additionalProperties>
  </configuration>
</plugin>

然后,您不需要app.info属性。