作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试传入一个要从 Spring boot 中的自定义配置文件 Autowiring 的值。以下是代码片段:
Spring 类
@Configuration
public class MyConfig {
@Value("${BOOTSTRAP_SERVERS}")
private String bootstrapServers;
myfile.yaml
BOOTSTRAP_SERVERS:
10.0.0.12:9092
执行命令
java -jar app.jar --spring.config.location=/file/path/myfile.yaml
但是,当我输入上述命令时,我收到此错误:
java.lang.IllegalArgumentException: Could not resolve placeholder 'BOOTSTRAP_SERVERS' in value "${BOOTSTRAP_SERVERS}"
为了让它发挥作用,我在这里缺少什么?我打算将应用程序安装在 kubernetes 中,因此我需要能够外部化我的配置。提前致谢。
最佳答案
显然是由于路径声明无效,要配置外部属性/yml文件,您必须使用file:
前缀作为--spring.config.location
。
所以试试这个,
--spring.config.location="file:/path/to/myfile.yaml"
另一种选择是,
-Dspring.config.location="file:/path/to/myfile.yaml"
确保 myfile.yaml
位于该目录中。
关于java - 如何为Spring Boot指定外部YAML配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52336358/
我是一名优秀的程序员,十分优秀!