Java 无法获取环境变量(系统 属性)
Java cannot get environment variable (system property)
我需要我的代码在使用 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?
你必须使用
String val = System.getenv( "PATH" );
为环境变量的值。 属性 值与进程的环境无关。
String val = System.getProperty( "sdk.root");
用于属性。
应该有一种方法可以在对话框中设置命令行参数,以准备在 IDE 中执行 Java 程序。这是您应该定义 -Dsdk.root=....
的地方
我需要我的代码在使用 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?
你必须使用
String val = System.getenv( "PATH" );
为环境变量的值。 属性 值与进程的环境无关。
String val = System.getProperty( "sdk.root");
用于属性。
应该有一种方法可以在对话框中设置命令行参数,以准备在 IDE 中执行 Java 程序。这是您应该定义 -Dsdk.root=....
的地方