java - Spring Boot 导入额外的无扩展属性
问题描述
我正在使用 Kubernetes 运行我的 Spring Boot 应用程序。架构的一部分涉及将机密作为文件卷安装在/opt/config
.
$ ls -l
SECRET_1
SECRET_2
SECRET_3
每个文件都包含.properties
类似的语法。( key=value
)
我一直在尝试让 Spring Boot 根据文档加载这些spring.config.import=file:/etc/config/myconfig[.yaml]
但是我无法让它工作,我的完整命令是:java -Dspring.config.location=file:./opt/application.properties -Dspring.config.additional-location=file:./opt/config/*[.properties] -jar target/test.war --debug --server.port=8080
文件已./opt/application.properties
正确加载。
我还尝试重命名所有文件以包含.properties
:
$ ls -l
SECRET_1.properties
SECRET_2.properties
SECRET_3.properties
并通过加载它java -Dspring.config.location=file:./opt/application.properties -Dspring.config.import=file:./opt/config/*/ -jar target/test.war --debug --server.port=8080
,但是这也没有导入任何属性./opt/config
。
我现在已经阅读了数十次文档,这应该可以正常工作,但事实并非如此。我错过了什么明显的东西吗?为什么它不加载下的任何文件./opt/config
?
解决方案
我认为问题在于您指定的位置是 spring 查找 application.properties、application.yml 和配置文件变体(application-prod.properties 等)的位置。我认为您最好以编程方式将所有文件加载到配置的位置,这可能会提供一些想法。
推荐阅读
- php - Yii2 gridview - 如果我展开第一行,模态仅显示在其他表格行中
- c# - How to control styling of a dynamic html table of a static html page through App.config file in a c# console application?
- exception - 为什么管道中没有 MEM.flush 用于异常?
- javascript - 如何使用 React 发送值以更改 NavBar
- python - Python program for Wang Landau Algorithm halting after a point
- java - How to find whether vbscript is running or not
- java - Creating events using the Google Calendar API and Service Account
- node.js - Mongoose does not connect to mongodb at the first attempt but succeeds at second
- python - Optimizing a function within a given range in scipy
- vim - Set a vim colorscheme for all users