在IDEA的项目配置中,我有以下文本字段:
我想定义一些环境变量,并在字段"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
。
为什么呢?我该如何解决这个问题?
答案 0 :(得分:8)
您可以使用大括号括起来的环境变量语法来访问环境变量。例如:
VM选项:-Dfoo=${MY_ENV_VAR}
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