在“VM选项”和“程序参数”中使用环境变量

时间:2014-02-04 17:06:57

标签: java intellij-idea

在IDEA的项目配置中,我有以下文本字段:

Project configuration

我想定义一些环境变量,并在字段"VM options""Program arguments"中引用它们。

我尝试了以下环境变量定义:

MY_FOLDER=/some/random/path
MY_ARGUMENT=2

然后在"VM options"我输入了:

- Dfoo=$MY_FOLDER

在我输入的程序参数中

$MY_ARGUMENT foo bar

但是,在调用我的类之前,环境变量似乎没有被解析,即如果我在Java中检查args[0],它保存字符串值$MY_ARGUMENT 2

为什么呢?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:8)

您可以使用大括号括起来的环境变量语法来访问环境变量。例如:

VM选项:-Dfoo=${MY_ENV_VAR}

VM options

MY_ENV_VAR环境变量将正确扩展。

更新:在IntelliJ IDEA 2017.1.2中测试并仍在使用。

答案 1 :(得分:5)

$ ENV_VAR $将被正确解析。

Idea对环境变量使用自己的符号,双方都应该用两个美元符号表示。

答案 2 :(得分:0)

环境变量与程序参数不同。如果你想传递程序参数,那么你可以调用

java MyMainClass /some/random/path 2

然后args []将包含

0: /some/random/path
1: 2