当前位置: 首页 > 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.dtcms.com/a/318697.html

相关文章:

  • 【数据结构与算法-Day 12】深入浅出栈:从“后进先出”原理到数组与链表双实现
  • 奔图P2500NW打印机加碳粉方法
  • 《Transformer黑魔法Mask与Softmax、Attention的关系:一个-∞符号如何让AI学会“选择性失明“》
  • 深入理解 qRegisterMetaType<T>()
  • DAY32打卡
  • 字符输入流—read方法
  • Kotlin Native调用C curl
  • 内部类详解:Java中的嵌套艺术
  • WebView 中控制光标
  • Diamond基础1:认识Lattice器件
  • 数据结构 二叉树(1)二叉树简单了解
  • Linux学习-数据结构(栈和队列)
  • 8.6学习总结
  • Selenium在Pyhton应用
  • Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)
  • 应急响应排查(windows版)
  • Vue计算属性详解2
  • Python Pandas.lreshape函数解析与实战教程
  • 机器学习模型调优实战指南
  • 关于应急响应的那些事
  • 第14届蓝桥杯Scratch选拔赛初级及中级(STEMA)真题2023年3月12日
  • 人工智能-python-机器学习实战:特征降维、PCA与KNN的核心价值解析
  • Linux: NFS 服务部署与autofs自动挂载的配置
  • 分隔串处理方法
  • SQL注入SQLi-LABS 靶场less51-57详细通关攻略
  • 【2026版】JVM面试题
  • K8S的POD数量限制
  • 敏捷协作平台推荐:Jira、PingCode、Tapd等15款
  • C++ - 仿 RabbitMQ 实现消息队列--网络通信协议设计
  • 力扣-42.接雨水