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