当前位置: 首页 > news >正文

开发避坑指南(18): SpringBoot环境变量配置错误:占位符解析失败解决方案

异常信息

Caused by: java.lang.IllegalArgumentException: 
Could not resolve placeholder 'DB_PASSWORD' in value "${DB_PASSWORD}"

异常背景

idea中,springboot服务,application.properties 配置文件读取windows系统环境变量中的变量DB_PASSWORD。项目启动的时候报错。

异常分析

都说使用美元符加{}引用环境变量,那么为什么报错呢?${}在idea中为什么要通过配置Environment引用环境变量,而打成jar包后却可以直接引用环境变量呢?其根本原因是 IDEA开发环境与JAR包运行环境存在差异。

  • IDEA的隔离性
    IDEA通过独立的进程启动应用,默认不会传递宿主机的环境变量到JVM,需手动配置(如通过Edit Configurations → Environment variables)。
  • JAR包的运行机制
    直接通过java -jar启动时,JVM会自动加载系统的环境变量,SpringBoot会优先从这些变量中解析${}占位符。

解决办法

在idea 中的打开项目的Run/Debug Configurations,在Environment variables中配置DB_PASSWORD=ENC(xsFbhdgjGL+skLybbG86L)即可正常启动。

http://www.lryc.cn/news/611964.html

相关文章:

  • Android UI 组件系列(十二):RecyclerView 嵌套及点击事件
  • git 清理submodule
  • 每日算法刷题Day57:8.6:leetcode 单调栈6道题,用时2h
  • K8S、Docker安全漏洞靶场
  • 实战 Seata:实现分布式事务解决方案
  • ORACLE进阶操作
  • 在NVIDIA Orin上用TensorRT对YOLO12进行多路加速并行推理时内存泄漏
  • 完整的登陆学生管理系统(配置数据库)
  • 电商支付异常测试全攻略
  • 013 HTTP篇
  • 秋招笔记-8.6
  • eclipse2023创建工作集
  • 使用python与streamlit构建的空间微生物分析
  • harbor仓库搭建(配置https)
  • 虚幻GAS底层原理解剖五 (AS)
  • 常见的大模型分类
  • #3:Maven进阶与私服搭建
  • 面试问题11
  • 用html写一个类似于postman可以发送请求
  • PyCharm vs. VSCode 到底哪个更好用
  • 面试题:基础的sql命令
  • 使用Nginx部署前后端分离项目
  • AS32S601 芯片 ADC 模块交流耦合测试:技术要点与实践
  • 大前端游戏应用中 AI 角色行为智能控制
  • AdGuard 安卓修改版:全方位广告拦截与隐私保护专家
  • webrtc弱网-OveruseFrameDetector源码分析与算法原理
  • Template 显式实例化 隐式实例化
  • C++之vector类的代码及其逻辑详解 (下)
  • java学习 leetcode24交换链表节点 200岛屿数量 +一些开发任务
  • win10/11网络防火墙阻止网络连接?【图文详解】防火墙阻止连接网络的解决方法