实用百科通
霓虹主题四 · 更硬核的阅读氛围

IDEA如何读取环境变量:配置与使用详解

发布时间:2025-12-24 14:50:47 阅读:162 次

IDEA中读取环境变量的常见方式

在开发Java项目时,经常会遇到需要根据不同的运行环境加载不同配置的情况。比如开发环境用本地数据库,生产环境用远程服务器。这时候通过环境变量来区分就非常方便。IntelliJ IDEA 作为主流的 Java 开发工具,支持直接读取系统环境变量,也可以在运行配置中手动设置。

通过系统环境变量自动读取

如果你已经在操作系统中设置了环境变量,IDEA 默认是可以直接访问的。例如,在 Windows 中你设置了 ENV=dev,Linux 或 macOS 中通过 export ENV=test 设置,那么在 Java 代码中就可以用 System.getenv("ENV") 获取到值。

public class Main {
public static void main(String[] args) {
String env = System.getenv("ENV");
System.out.println("当前环境:" + env);
}
}

在 IDEA 运行配置中手动添加

有时候我们不想依赖外部环境,可以在 IDEA 的运行配置里直接设置环境变量。打开 Run/Debug Configurations 窗口,在 Environment variables 一栏点击右边的编辑图标,添加键值对。比如设置 LOG_LEVEL=DEBUG,保存后运行程序就能读取到。

这种方式特别适合团队协作,每个人可以在自己的机器上独立配置,不影响他人。而且调试不同场景时,切换起来也快,不用反复改代码或系统设置。

使用 .env 文件配合插件管理

虽然 IDEA 本身不原生支持 .env 文件,但可以通过安装 EnvFile 插件来实现。安装完成后,在运行配置页面会多出一个 EnvFile 选项卡,可以指定一个包含环境变量的文件路径,比如项目根目录下的 .env 文件。

# .env 文件内容示例
DB_HOST=localhost
DB_PORT=3306
API_TIMEOUT=5000

这样一来,启动应用时会自动加载这些变量,代码里依然用 System.getenv() 取值,和系统环境变量完全一样,但更便于版本控制和项目共享。

实际应用场景举例

假设你在做一个 Spring Boot 项目,数据库连接地址根据环境变化。你可以这样写配置:

spring.datasource.url=jdbc:mysql://${DB_HOST}:${DB_PORT}/mydb

只要确保 DB_HOSTDB_PORT 在运行时能从环境变量中读到,这个配置就能在不同环境下自动适配,不需要每次打包前修改。

这种做法在部署 CI/CD 流程时尤其有用,本地开发、测试、预发布各用各的变量,互不干扰。