通过添加${spring-boot.version}
,可以在banner.txt中包含Spring Boot版本
如何对/info执行器端点执行相同的操作。我已经尝试添加了这两个
info.app.spring-boot.version=${spring-boot.version}
和
info.app.spring-boot.version=@spring-boot.version@
添加到我的应用程序属性中,但不走运。spring终结点将打印“${ /info -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());
}
}
发布于 2017-08-21 20:07:26
这应该是可行的:
<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属性了。
发布于 2021-12-17 19:37:44
正如您在更新中提到的,可根据SpringBootVersion
中的值使用InfoContributor
添加此属性
@Component
public class SpringBootVersionInfoContributor implements InfoContributor {
@Override
public void contribute(Info.Builder builder) {
builder.withDetail("spring-boot.version", SpringBootVersion.getVersion());
}
}
这似乎是添加此细节的一种非常可靠的惯用方法。
https://stackoverflow.com/questions/43544806
复制相似问题