【发布时间】:2017-02-07 13:38:15
【问题描述】:
我的 java 应用程序使用环境变量 (System.getenv),而这组变量很大,并且定义在如下文件中:
export VAR1="VAL1"
...
export VAR100500="VAL1500"
当我从命令行启动应用程序时,我使用这样的东西:
source ../.config/.secret-secret && java -jar build/libs/app-name.jar
并且值在启动之前被导出(实际上,source 命令每个会话只能执行一次,因为值被导出)
但是当我从 IDEA 启动应用程序时,这些值不会导出到运行环境。
那么,问题来了:如何将一组环境变量导出到 IDEA 中的应用程序启动环境中?
所以,我已经尝试过:
在 运行/调试配置 -> 启动前 我启动了一个 shell 导出这些变量的脚本(我使用相同的脚本来运行 命令行中的应用程序)。脚本成功执行,但看起来 就像脚本是在不同的环境中执行的 应用程序本身,因此值被导出(并打印到 IDEA 运行 控制台),但应用程序仍然无法从中读取它们
System.getenv我不能轻易使用运行/调试配置 -> 环境变量,因为有很多变量需要手动设置,而且不时更改。
使用这些变量运行整个 IDEA 是不够的,因为正如我上面提到的,这些值经常更改,并且几乎每次启动都应该重新读取。
【问题讨论】:
标签: java debugging intellij-idea environment-variables