Java 如何为springboot指定外部YAML配置文件

Java 如何为springboot指定外部YAML配置文件,java,spring-boot,Java,Spring Boot,我试图在Spring boot中从自定义配置文件中传入一个要自动连接的值。以下是代码片段: 春季课程 myfile.yaml 执行命令 但是,当我键入上述命令时,会出现以下错误: java.lang.IllegalArgumentException:无法解析值“${BOOTSTRAP\u SERVERS}”中的占位符“BOOTSTRAP\u SERVERS” 为了让它发挥作用,我在这里遗漏了什么?我打算在kubernetes中安装应用程序,因此我需要能够将我的配置外部化。提前感谢。显然这是由于路

我试图在Spring boot中从自定义配置文件中传入一个要自动连接的值。以下是代码片段:

春季课程

myfile.yaml

执行命令

但是,当我键入上述命令时,会出现以下错误:

java.lang.IllegalArgumentException:无法解析值“${BOOTSTRAP\u SERVERS}”中的占位符“BOOTSTRAP\u SERVERS”


为了让它发挥作用,我在这里遗漏了什么?我打算在kubernetes中安装应用程序,因此我需要能够将我的配置外部化。提前感谢。

显然这是由于路径声明无效,要配置外部属性/yml文件,必须使用
文件:
前缀
--spring.config.location

试试这个

--spring.config.location="file:/path/to/myfile.yaml"
另一种选择是

-Dspring.config.location="file:/path/to/myfile.yaml"
确保
myfile.yaml
位于目录中



官方文档:

我要尝试的第一件事是在代码中使用bootstrap.servers和bootstrap:yaml中的服务器(bootstrap和服务器分别位于不同的行上)。这个BOOTSTRAP_servers表单可能会导致与env var form的混淆,因为我会尝试设置一个标准属性,比如spring.application.name,然后尝试使用properties而不是yaml。如果这还不能确定,那么尝试使用标准/config外部配置路径,而不是显式指定。请注意,如果愿意,可以使用env vars而不是挂载。我在if it Help中讨论了这一点,我不确定这一点,因为现在我无法执行快速测试,但我建议您更改为
BOOTSTRAP\u服务器:“10.0.0.12:9092”
因为它可能被解释为
BOOTSTRAP\u服务器。10.0.0.12
的值为
9092
你能试试这种格式吗
BOOTSTRAP.SERVERS:10.0.0.12:9092
你有一个github项目可以共享解决以下问题吗?@bijayshrestha不在移动中
java  -jar app.jar --spring.config.location=/file/path/myfile.yaml
--spring.config.location="file:/path/to/myfile.yaml"
-Dspring.config.location="file:/path/to/myfile.yaml"