[英]Spring Boot import additional extensionless properties
我正在使用 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
工作,我的完整命令是: 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
加载它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 等)的位置。 我认为您最好以编程方式将所有文件加载到配置位置, 这可能会提供一些想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.