Spring Boot 2.6.6中spring.config.import导入外部配置文件失效问题
以下是针对你遇到的Could not resolve placeholder 'daon.service.keystorePath'问题的排查和修复步骤:
修正
spring.config.import的格式
Spring Boot 2.4+加载本地外部配置文件时,必须添加file:前缀,否则框架会默认从类路径下查找文件。修改application.yml中的配置:spring: config: import: file:/Users/Public/IN/application-DEV.yml确认环境激活配置
确保你的应用确实激活了DEV环境,否则外部的application-DEV.yml不会被加载。可以在application.yml中显式指定:spring: profiles: active: DEV或者启动应用时通过命令行参数指定:
java -jar your-app.jar --spring.profiles.active=DEV检查文件权限与路径
验证应用进程是否有权限读取/Users/Public/IN/application-DEV.yml文件,macOS/Linux下可执行chmod 644 /Users/Public/IN/application-DEV.yml赋予可读权限。同时确认路径拼写完全正确,没有大小写或目录名错误。校验外部YAML文件语法
检查application-DEV.yml的语法是否合规,比如缩进是否正确、冒号后是否有空格,确保daon.service.keystorePath的定义格式正确:daon: service: keystorePath: "/实际的密钥库路径"避免属性覆盖
检查application.yml中是否存在同名的daon.service.keystorePath属性,如果有会覆盖外部配置文件中的值,导致占位符解析失败。
内容的提问来源于stack exchange,提问作者Ajit Singh

