[英]Java cannot get environment variable (system property)
我需要我的代碼在使用IntelliJ運行測試時可以獲取環境變量:
private String sdkDir = System.getProperty("sdk.root");
問題是,它始終為null
,我在bashrc
和bash_profile
都進行bashrc
設置,但實際上不適用於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 = ....的地方
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.