项目配置文件正确但是启动失败,报配置文件内容错误或中间件地址与实际不符

起因:小伙伴调试项目,为了方便频繁修改配置文件,使用指定本地 yml 方式启动项目:java -jar demo.jar --spring.config.location=/xx/application-prod.yml。

调试完成后修改项目 yml 重新打包启动,出现与实际项目 yml 不一致的问题。

这是由于,配置文件的加载优先顺序(从高到低,高优先级配置会覆盖低优先级)

本地的 yml 覆盖了 项目中的 yml

java 复制代码
应用 Jar 包外部的配置文件优先于 Jar 包内部的配置文件,具体路径顺序:
Jar 包所在目录的 config/ 子目录(最优先的外部配置)
例如:./config/application.yml
Jar 包所在的根目录
例如:./application.yml
Jar 包内部的 config/ 目录
例如:Jar 包内 BOOT-INF/classes/config/application.yml
Jar 包内部的根目录(默认位置,优先级最低)
例如:Jar 包内 BOOT-INF/classes/application.yml

不同文件格式的优先级
同一路径下,不同格式的配置文件优先级:
application.properties > application.yml > application.yaml

** 核心原则:外部配置优先于内部配置,命令行参数优先于所有配置文件,同路径下 properties 格式优先于 yml/yaml**

相关推荐
乐观的Terry21 分钟前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb22 分钟前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
万亿少女的梦16843 分钟前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫1 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
笨蛋不要掉眼泪1 小时前
Java虚拟机:常用参数
java·开发语言·python
亦暖筑序2 小时前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
你驴我2 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
青山木3 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
小龙报3 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
自强的小白3 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java