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

IntelliJ IDEA中使用Gradle传递Spring Boot环境变量的问题

解决Gradle运行Spring Boot时传递环境变量的问题

方法1:在Gradle构建脚本中配置环境变量

修改项目根目录下的build.gradle(Groovy)或build.gradle.kts(Kotlin),通过bootRun任务传递环境变量:

Groovy版本

bootRun {
    // 加载系统所有环境变量,也可单独指定某个变量
    environment = System.getenv()
    // 单独指定变量示例:
    // environment 'SPRING_PROFILES_ACTIVE', System.getenv('SPRING_PROFILES_ACTIVE')
}

Kotlin版本

tasks.bootRun {
    // 加载系统所有环境变量,也可单独指定某个变量
    environment(System.getenv())
    // 单独指定变量示例:
    // environment("SPRING_PROFILES_ACTIVE", System.getenv("SPRING_PROFILES_ACTIVE"))
}

如果你的环境变量存放在.env这类配置文件中,可以借助gradle-dotenv插件加载:

plugins {
    id 'com.github.gmazzo.envprops' version '1.5.0'
}

// 指定.env文件路径
envprops {
    files file('.env')
}

bootRun {
    environment = envprops.env
}

方法2:在IDEA的Gradle运行配置中设置环境变量

  1. 打开IDEA的「Run/Debug Configurations」
  2. 找到对应的Gradle bootRun任务配置
  3. 切换到「Environment Variables」标签页
  4. 点击编辑按钮添加目标变量(如SPRING_PROFILES_ACTIVE=dev),或勾选「Include system environment variables」加载系统所有环境变量
  5. 保存配置后重新运行

方法3:通过命令行传递环境变量

执行Gradle任务时直接在命令行指定:

Linux/macOS

SPRING_PROFILES_ACTIVE=dev ./gradlew bootRun

Windows CMD

set SPRING_PROFILES_ACTIVE=dev && gradlew bootRun

Windows PowerShell

$env:SPRING_PROFILES_ACTIVE="dev"; ./gradlew bootRun

也可通过JVM系统属性传递(需确保应用通过Spring配置机制读取):

./gradlew bootRun -DSPRING_PROFILES_ACTIVE=dev

问题原因说明

IntelliJ IDEA自行构建运行时,会自动加载IDE配置的环境变量(含系统变量和Run配置里的自定义变量);而Gradle默认不会自动继承IDE的环境变量,需手动配置才能传递给bootRun任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:55:16