You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot的application.yml无法读取Git Bash设置的环境变量

解决方法

1. 修正.env文件格式

你的.env中DATABASE_URL带双引号,会导致变量值包含引号本身,Spring Boot读取后URL格式错误,同时Git Bash的source命令处理带引号变量时,传递给子进程存在问题。修改.env去掉引号:

PORT=8000
DATABASE_URL=jdbc:mysql://localhost:3306/test?useSSL=false
DATABASE_USERNAME=kp-usr-1
DATABASE_PASSWORD=Kpi987223oibnW

2. 强制传递环境变量给Gradle

在Git Bash中执行以下命令,先将.env变量批量export到当前会话,再执行Gradle命令,确保Java进程能获取到变量:

export $(cat .env | xargs) && ./gradlew build

3. 利用Spring Boot原生.env支持(推荐)

Spring Boot 2.4.0及以上版本支持自动加载项目根目录的.env文件,无需手动执行source:

  • 保持.env文件在项目根目录(按修正后的格式)
  • 启动或构建项目时,Spring Boot会自动加载文件中的环境变量,直接被application.yml引用

4. 检查文件读取权限

确保Git Bash能正常读取.env文件,可执行cat .env确认内容能正常输出,若存在权限问题,右键文件→属性→安全选项卡,赋予当前用户读取权限。


内容的提问来源于stack exchange,提问作者Jassi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:22:19