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

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

相关推荐
Rain的Java大神之路1 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
counting money1 小时前
Tomcat 专题:从基础架构到性能调优与 WebSocket 实战
java·websocket·tomcat
xiaohaiAIgeo2 小时前
【2026年】HG/T 20656-2024化工暖通空调设计规范:新版标准的变化与影响
java·前端·javascript·科普知识
小强库计算机毕业设计2 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
霸道流氓气质2 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军2 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
编程令我快乐3 小时前
maven部分构建参数讲解
java·maven
ZC跨境爬虫3 小时前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
kisbad3 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
憧憬成为java架构高手的小白3 小时前
langchain4j框架学习
java