我需要在我所有的理想运行配置中使用一个环境变量。我目前使用运行->编辑配置->,然后输入所选配置中的env变量。然而,当我需要运行独立的测试场景时,这是非常乏味的,因为每一个都创建了一个新的运行配置,我需要重新输入变量。
我尝试在我的linux系统中使用export SOME_VAR="some value"
在各种会话配置文件中设置env变量:/etc/profile
,/etc/bash.bashrc
,~/.bashrc
,~/.profile
,但IntelliJ似乎在运行期间忽略了这些变量,即使当我从IntelliJ内置终端启动echo ${SOME_VAR}
时,它也显示了正确的输出。
我还尝试使用IntelliJ .env file plugin,然后在项目根目录下的.env
文件中设置SOME_VAR=some value
。也不管用。
9条答案
按热度按时间r6l8ljro1#
我发现了一个在IntelliJ上设置环境变量的解决方案,它对我来说非常有效,而且非常简单。让我给你看。
这是我们用来测试的程序(你可以复制和粘贴它):
字符串
这个程序基本上加载了所有的环境变量,在控制台上显示它们,并尝试显示一个env变量。此外,它假定您在调用IntelliJ IDEA之前已经创建了MY_VARenv变量,方法如下:
型
因此,如果在没有正确配置的情况下运行它,您将在控制台中获得以下内容:
x1c 0d1x的数据
请注意,您只有几个变量,并且MY_VAR为null。
下面是我用来加载环境变量的配置:
1.点击项目中的“Select Run/Debug Configurations”,然后选择“Edit Configurations”:
的
1.然后,单击“环境变量”部分右侧的带有“...”的按钮:
的
1.你会看到一个弹出窗口。选中左下角带有“Include parent environment variables”标签的复选框:
的
就是这样!!!**
如果你现在运行你的程序,你会在你的控制台上看到这样的东西:
x1c4d 1x的
你可以看到所有的环境变量,当然还有你的“MY_VAR”变量,它的值是正确的!
基础之外
通常,出于安全原因,我们不希望保持所有环境变量可见。我们要做的是让这些变量只在IntelliJ(或我们的程序)运行时可见。
因此,无论是在调用Intellij之前还是在关闭它之后,环境中都不应该有敏感变量。
此外,您还希望将这些变量保存在一个文件中(通常具有.env扩展名),以便于操作和出于安全原因。
为了实现这一点,有一些有用的程序(你可以谷歌他们),但我最喜欢的是env-cmd。
假设你有一个test.env文件,内容如下:
型
如果你这样调用IntelliJ:
型
编辑你的程序以显示“MY_TEST_VAR”,并运行它,你会在IntelliJ的控制台上看到这个:
型
但是如果你退出IntelliJ,并寻找你的变量,你会看到var不存在(你可以使用
env
来确认):型
在这一点上,我希望您能够使用自己的解决方案:创建包含变量的shell脚本,测试其他程序(direnv、autoenv等),等等。
好好享受吧!
zfycwa2u2#
在我看来,真实的的问题是马特说的话。如果你想从快捷方式启动IntelliJ,那么你必须稍微编辑一下:打开.desktop文件,并将
/bin/bash -c -i
添加到启动命令的开头。该文件应类似于以下内容:字符串
bnlyeluc3#
如果使用Maven,可以在 * 文件->设置->构建,执行,部署->构建工具->Maven->运行程序下配置项目特定的环境变量 * 这些变量可以在任何Maven配置中重用。
设置环境变量的相同机制也可以用于不同的运行器。
92vpleto4#
问题是,IntelliJ没有“看到”在.bashrc中设置的环境变量(也可以在CrazyCoders中找到答案)。启用IntelliJ导入这些变量的最简单方法是从bash启动它,例如。通过输入intellij-idea-community。
bn31dyow5#
我尝试了上面列出的各种方法,并将环境变量添加到终端配置中,Maven构建工具在某些上下文中有效,但在其他上下文中无效。然后,我终于找到了IntelliJ中真正适用于运行时进程的地方。因为为什么只有一个环境变量配置屏幕,而你可以有几个,使所有,但其中一个是错误的?^_^
如果您编辑创建运行配置的 template,并将环境变量 * 添加到模板 *,则它们应包含在以该模板开始的每个后续运行配置中。
这对JUnit模板特别有用,因为这意味着所有自定义环境变量都将被加载用于单元测试,而不管它们是从哪个范围执行的(单个方法、整个测试类、整个模块)。但一般来说,如果您首先编辑模板,那么之后创建的任何运行配置都将从模板继承环境变量。
从顶部菜单:运行→编辑配置...→展开模板树→ (选择模板) →**环境变量:**→ (输入分号分隔的键值对列表或使用输入小部件)
对于自动生成的JUnit配置,您应该删除任何现有的配置,并让IntelliJ在您进行时重新创建新的配置;这些都将使用更新的JUnit模板和您的环境变量。
azpvetkf6#
对于macOS,尝试添加
/Applications/IntelliJ IDEA.app/Contents/bin/idea.properties
字符串
4urapxun7#
由于没有其他答案在此提及,
将您的环境变量添加到**/etc/environment**,然后注销并重新登录。IntelliJ肯定会把它捡起来。
rm5edbpk8#
我找到了另一个棘手的解决方案:)
对于Linux用户来说,
只需在任何合适的位置创建一些shell脚本,如 * idea.sh *,其中包含此内容。
字符串
使此脚本可执行并运行它。
此脚本将始终使用预定义的env变量运行IDE。
h5qlskok9#
1.得到
Open 'Edit Run/Debug configurations' dialogs
1.转到
Modify options
1.选择
Environment variables
Active profiles
下方的
Environment variables
出现新框