如何在带有 @Value 注释的 Spring Boot 应用程序中获取 maven project.version 属性?
原文由 Jack G. 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在带有 @Value 注释的 Spring Boot 应用程序中获取 maven project.version 属性?
原文由 Jack G. 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答711 阅读✓ 已解决
1 回答902 阅读
1 回答637 阅读✓ 已解决
2 回答653 阅读
1 回答698 阅读
2 回答909 阅读✓ 已解决
2 回答586 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答712 阅读✓ 已解决
1 回答449 阅读
在对如何在 SpringBoot 应用程序中获取 Maven 项目版本进行一些研究和试验之后,我找不到任何适合我的东西。
由于类加载器问题,使用清单绝对是一条烂路,即获得 Spring 发现的第一个清单,在我的情况下不是我的应用程序。
我发现的一种解决方案是使用 maven 资源插件来“过滤”(替换)资源文件中的属性。在这种情况下,弹簧
application.properties
。以下是完成这项工作的步骤。
在 pom 文件中,使用以下定义激活资源过滤:
在
application.properties
文件中:注意@property@ 而不是${property}。 在
application.properties
文件中。spring-boot-starter-parent
pom 将标准${}
分隔符重新定义为@
:然后可以使用
@Value
在 Spring 中访问这些属性,如下所示:此处提供了一个示例项目。