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

起因:小伙伴调试项目,为了方便频繁修改配置文件,使用指定本地 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**

相关推荐
用户0332126663674 分钟前
Java 将 CSV 转换为 Excel:告别繁琐,拥抱高效数据处理
java·excel
这周也會开心10 分钟前
Java-多态
java·开发语言
渣哥19 分钟前
揭秘!Java反射机制到底是什么?原来应用场景这么广!
java
叫我阿柒啊21 分钟前
Java全栈开发实战:从Spring Boot到Vue3的项目实践
java·spring boot·微服务·性能优化·vue3·全栈开发
CPU NULL44 分钟前
Spring拦截器中@Resource注入为null的问题
java·人工智能·后端·spring
藤椒鱼不爱编程1 小时前
面向对象_抽象类与接口
java
MacroZheng1 小时前
告别Swagger UI!一款更适合Spring Boot的API文档新选择!
java·spring boot·后端
华仔啊1 小时前
String、StringBuffer和StringBuilder,别再用错了!
java·后端
AAA修煤气灶刘哥1 小时前
踩完 10 个坑后,我把多表查询 + MyBatis 动态 SQL 写成了干货
java·数据库·后端
沐风清扬1 小时前
SpringAI1.0.1实战教程:避坑指南25年8月最新版
java·大数据·elasticsearch·搜索引擎·springai