在IntelliJ Idea中设置和使用环境变量

wnvonmuf  于 12个月前  发布在  IntelliJ IDEA
关注(0)|答案(5)|浏览(351)

我设置了一个环境变量(在IDE Settings -> Path Variables下)

APP_HOME = /path/to/app_home

字符串
我的一个测试失败了,

System.out.println("APP HOME: " + APP_HOME);


APP HOME: null/


看起来env变量没有被读取。我错过了什么?

5hcedyr0

5hcedyr01#

Path Variables对话框中与环境变量无关。

可以在操作系统中指定环境变量,也可以在“运行”配置中自定义环境变量:


的数据

sc4hvdpw

sc4hvdpw2#

当IntelliJ Build and run属性使用Gradle时,我无法让环境变量工作。我不确定根本原因是什么,但切换到IntelliJ IDEA解决了问题。转到Preferences-> Build, Execution, Deployment-> Build Tools-> Gradle。然后将Build and run using:更改为IntelliJ IDEA
x1c 0d1x的数据

llmtgqce

llmtgqce3#

如果上面的答案+重新启动IDE没有做,尝试重新启动“Jetbrains插件”,如果你使用它,这对我来说已经做到了

wb1gzix0

wb1gzix04#

可以在intellij“运行说明”中引用intellij“路径变量”。
在“路径变量”中创建一个变量,例如ANALYTICS_VERSION
在“环境变量”下的“运行配置”中,添加以下示例:

ANALYTICS_LOAD_LOCATION=$MAVEN_REPOSITORY$\com\my\company\analytics\$ANALYTICS_VERSION$\bin

字符串
要回答最初的问题,您需要在运行配置中添加一个APP_HOME环境变量,该变量引用路径变量:

APP_HOME=$APP_HOME$

piztneat

piztneat5#

这并不是对问题的直接回答,更多的是对评论中问题的回答:“当env变量改变时如何重新加载?”。
如果你的env变量来自操作系统,你不幸的是没有选择,正如@Neil McGuigan所说。
但如果它来自另一个密钥管理工具,如HashiCorp Vault,则有一个maven插件允许获取并将其注入JVM。
https://homeofthewizard.github.io/vault-maven-plugin/
因此,如果您在intelliJ上将应用程序作为maven目标运行,您的env变量将是可访问的。
另外,它的配置是项目范围的,因为它将在pom.xml中,所以不需要为intelliJ上的每次运行/调试指定env变量。

相关问题