Java无法获取环境变量(系统属性)

时间:2015-01-17 17:43:26

标签: java bash ubuntu intellij-idea

我需要在使用IntelliJ运行测试时我的代码可以获取环境变量:

private String sdkDir = System.getProperty("sdk.root");

问题是,这始终是null,我已在bashrcbash_profile中设置,但不能与Ubuntu一起使用。

bashrcbash_profile都有:

export JAVA_HOME=/home/xybrek/zulu1.8.0_25-8.4.0.1-x86lx64
export JAVA_OPTIONS="-Dsdk.root=/home/xybrek/java-sdk-1.9.17"
export PATH=$PATH:/home/xybrek/zulu1.8.0_25-8.4.0.1-x86lx64/bin
export PATH

我的配置可能缺少什么?

更新

我无法更改Java代码:System.getProperty("sdk.root");因为这是来自我无法修改的已编译的Arquillian容器。

我需要的是使用此System.getProperty方法获取值的正确方法。

在哪里放这个" sdk.root"让IntelliJ拿起它?在属性文件或bash中?

1 个答案:

答案 0 :(得分:2)

你必须使用

String val = System.getenv( "PATH" );

表示环境变量的值。属性值与进程的环境无关。

String val = System.getProperty( "sdk.root");

用于属性。

应该有一种在对话框中设置命令行参数的方法,以便在IDE中准备执行Java程序。这是你应该定义-Dsdk.root = ....

的地方