envfile 插件需手动从marketplace安装并重启idea,启用“enable experimental integrations”后,在run configuration中显式启用并添加有效utf-8编码的.key=value格式.env文件方可生效。

EnvFile 插件必须手动安装,IDEA 不自带
IntelliJ IDEA 默认不包含 EnvFile 插件,哪怕你用的是 Ultimate 版本。它不属于捆绑插件,也不能靠“启用”就出现——必须从 Marketplace 显式安装。很多人卡在第一步,是因为在 Settings → Plugins 里只看了“Installed”或“Bundled”标签页,没切到“Marketplace”搜索。
实操建议:
- 按
Ctrl+Alt+S(Windows/Linux)或Cmd+,(macOS)打开设置 - 左侧选
Plugins,顶部切到Marketplace标签页 - 在搜索框输入
EnvFile(注意不是.env或env file) - 找到作者为
JetBrains或Andrey Mischenko的官方插件(图标是绿色文件夹),点击Install - 安装完成后,必须重启 IDE,否则后续配置项不会出现
启用实验性集成才能让 Run Configuration 识别 .env 文件
装完插件只是开始。2024.2 版本起,EnvFile 默认关闭了对运行配置的深度支持,导致你在 Run Configuration 里根本看不到 EnvFile 选项卡——这不是插件坏了,是功能被默认禁用了。
实操建议:
- 重启后再次进入
Settings → Tools → EnvFile - 勾选
Enable experimental integrations(这个开关名字很低调,但它是关键) - 不勾选的话,即使你创建了
.env文件,Run Configuration 里也只会显示空白的EnvFile标签,或者压根不显示该标签 - 该选项启用后,新建或编辑任一运行配置(如 Spring Boot、Application),都会在配置页底部多出一个
EnvFile选项卡
Run Configuration 中加载 .env 文件的三步操作
很多人以为只要插件装了、实验性集成开了,IDEA 就会自动读 .env,结果调试时 System.getenv("DB_URL") 还是 null。问题出在:插件不会全局注入,只对显式启用的运行配置生效。
使用 idealista CLI 按位置(城市、城镇、地区、街道)搜索 Idealista 房源并获取详情。适用于用户请求 Idealista 市场数据或需要 idealista‑cli 命令/标志时。
实操建议:
- 打开
Run → Edit Configurations… - 选中你要调试的配置(比如你的
SpringBootApp) - 切换到
EnvFile选项卡,勾选Enable EnvFile - 在
Files区域点击+,选择项目根目录下的.env(路径必须是真实存在的文件,不能是空文件或仅含注释) - 确认文件编码是
UTF-8,且每行格式为KEY=VALUE(等号前后不要有空格,不支持引号包裹值,如DB_PASSWORD="123"会失败)
常见失效场景和验证方式
即使步骤全对,也可能因为几个隐蔽点导致变量没注入成功。最典型的错误现象是:代码里用 @Value("${DB_NAME}") 报 IllegalArgumentException: Could not resolve placeholder,或者 System.getenv() 返回 null。
排查建议:
- 检查
.env文件是否在 Git 忽略列表里:.gitignore中应有.env,但文件本身必须存在于磁盘上 - 确认运行配置选的是你刚配置的那个,而不是默认的
Defaults → Application—— 后者不会继承你改过的设置 - 启动应用后,在代码里加一行日志:
System.out.println("DB_NAME = " + System.getenv("DB_NAME"));,直接看 JVM 进程是否收到了 - 如果用的是 Spring Boot,
@Value注入失败还可能是配置加载顺序问题:确保没有其他同名属性在application.properties中被硬编码覆盖
真正容易被忽略的点是:插件只影响 IDE 启动的 JVM 进程,不影响你用命令行 java -jar 运行,也不影响 Maven/Gradle 构建时的测试任务——那些场景得靠 dotenv-java 或构建脚本自己处理。










