当前位置: 首页 > 知识库问答 >
问题:

IntelliJ IDEA全局环境变量配置

沃皓轩
2023-03-14

我需要在我所有的idea运行配置中使用一个环境变量。我目前使用run-

我试图设置env变量在我的linux系统使用导出SOME_VAR=一些值在各种会话配置文件:/etc/file/etc/bash.bashrc~/. bashrc~/.profile但是intellij在运行过程中似乎忽略了这些变量,即使当我从intellij内置终端启动echo${SOME_VAR}时,它显示了正确的输出。

我也尝试使用intellij. env文件插件,然后设置SOME_VAR=一些值. env文件在项目根。也没起作用。

共有3个答案

严欣怡
2023-03-14

问题是IntelliJ没有“看到”中设置的环境变量。bashrc(也可以在CrazyCoders答案中找到)。启用IntelliJ导入这些变量的最简单方法是从bash开始,例如键入IntelliJ idea community。

韶硕
2023-03-14

在我看来,真正的问题是马特说了什么。如果要从快捷方式启动IntelliJ,则必须对其进行一点编辑:打开。桌面文件,并将/bin/bash-c-i添加到启动命令的开头。该文件应如下所示:

[Desktop Entry]
Exec=/bin/bash -i -c "/path/to/idea/bin/idea.sh" %f
Name=IntelliJ IDEA Ultimate
Type=Application
Version=1.0
卓正业
2023-03-14

我找到了一个在IntelliJ上设置环境变量的解决方案,它对我来说非常有效,而且非常简单。让我给你看看。

这是我们用来测试的程序(您可以复制并粘贴它):

package com.javasd.intelijenv;

import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n", envName, env.get(envName));
        }

        System.out.println("My home directory: " + System.getenv("MY_VAR"));
    }
} 

这个程序基本上加载所有环境变量,在控制台上显示它们,并尝试显示一个env变量。此外,它假设您在调用IntelliJ IDEA之前创建了MY_VAR env变量,方法如下:

$ export MY_VAR="This is my adorable var :)"
$ idea

请注意,我们在创建环境变量的同一个终端(或会话或窗口)中调用IntelliJ IDEA。如果您创建变量并从图标调用IDEA,解决方案将无法工作,因为IDEA将创建自己的会话。

因此,如果在没有正确配置的情况下运行它,您将在控制台中看到以下内容:

请注意,您只有几个变量,并且我的变量为null。

  1. 单击项目中的“选择运行/调试配置”,然后选择“编辑配置”:

就这样!!!

如果您现在运行程序,您将在控制台上看到如下内容:

你可以看到所有的环境变量,当然还有你的“MY_VAR”变量,值正确!

通常,出于安全原因,我们不想保持所有环境变量可见。我们要做的是使这些变量仅在IntelliJ(或我们的程序)运行时可见。

因此,无论是在调用Intellij之前还是在关闭Intellij之后,环境中都不应显示任何敏感变量。

此外,出于安全考虑,您希望将这些变量保留在文件中(通常带有. env扩展名),以便于操作。

为了实现这一点,有一些有用的程序(你可以用谷歌搜索),但我最喜欢的是env cmd。

假设你有一个测试。包含以下内容的环境文件:

MY_TEST_VAR=I live in the test.env file.

如果您通过以下方式调用IntelliJ:

$ env-cmd test.env idea

编辑程序以显示“MY_TEST_VAR”,然后运行它,您将在IntelliJ的控制台上看到:

但是如果退出IntelliJ并查找变量,您将看到var不存在(您可以使用env确认):

此时,我希望您能够使用自己的解决方案:使用内部设置的变量创建shell脚本,测试其他程序(direnv、autoenv等),等等。

享受

...

 类似资料:
  • 本文向大家介绍Lua中全局变量与非全局环境介绍,包括了Lua中全局变量与非全局环境介绍的使用技巧和注意事项,需要的朋友参考一下 今天来聊两个话题——全局变量和非全局环境。 正如大家目前心里所感受到的,全局变量的内容很简单,而非全局环境的内容就稍微要锻炼一下脑细胞了。 1.全局变量的原形 在Lua中,要声明全局变量很简单,那就是定义变量的时候,前面不要加上local。 这个神秘的全局变量,其实本质上

  • 我正在尝试从我的node.js应用程序中设置一个全局环境变量。 目标是: 重启APP时,仍应设置环境变量 打开新外壳时,它应该可用 如果可能:重新启动时,与 1 相同。 它应该适用于 Linux、Mac OS X(并且需要一个备用的 SET 命令来访问窗口) 以下是我所做的: 但这导致了 我没有在Windows上测试这个,但在Mac OS X(和Linux)上,bash上正确的命令是。对于Wind

  • 我正在开发一个詹金斯插件,我需要为詹金斯的所有工作提供一个新的环境变量。有点像Jenkins全局属性或环境变量,或者完全一样。我不确定。我只需要它对任何脚本都可用。 我已经在插件的文件的一个条目中捕获了这个环境变量的值,该文件是公开的,可以通过访问

  • 本文向大家介绍nodeJs的安装与npm全局环境变量的配置详解,包括了nodeJs的安装与npm全局环境变量的配置详解的使用技巧和注意事项,需要的朋友参考一下 最近在做小程序开发时,有用到云函数,而云函数就是用node.js写的,所以其中难免会用到一些node类库。用node类库就必选在电脑上安装node.js环境,并且配置npm命令的环境变量。用mac电脑,这些基本上都是自带的,不用安装和配置。

  • This is a list of variables that are always implicitly assigned to the . This is handy for making global variables or server variables available to all templates without having to manually assign them

  • 如果不配置环境变量,每次登录 MySQL 服务器时就必须进入到 MySQL 的 bin 目录下,也就是输入“cd C:\Program Files\MySQL\MySQL Server 5.7\bin”命令后,才能使用 MySQL 等其它命令工具,这样比较麻烦。配置环境变量以后就可以在任意位置执行 MySQL 命令了,本节主要介绍怎样手动配置环境变量。 MySQL 如果不配置环境变量就只能在 my