我需要在使用IntelliJ运行测试时我的代码可以获取环境变量:
private String sdkDir = System.getProperty("sdk.root");
问题是,这始终是null
,我已在bashrc
和bash_profile
中设置,但不能与Ubuntu一起使用。
bashrc
和bash_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中?
答案 0 :(得分:2)
你必须使用
String val = System.getenv( "PATH" );
表示环境变量的值。属性值与进程的环境无关。
String val = System.getProperty( "sdk.root");
用于属性。
应该有一种在对话框中设置命令行参数的方法,以便在IDE中准备执行Java程序。这是你应该定义-Dsdk.root = ....
的地方