簡體   English   中英

Java無法獲取環境變量(系統屬性)

[英]Java cannot get environment variable (system property)

我需要我的代碼在使用IntelliJ運行測試時可以獲取環境變量:

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

問題是,它始終為null ,我在bashrcbash_profile都進行bashrc設置,但實際上不適用於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中?

你必須用

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

用於環境變量的值。 屬性值與流程的環境無關。

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

用於屬性。

應該有一種在對話框中設置命令行參數的方法,以准備在IDE中執行Java程序。 這是您應該定義-Dsdk.root = ....的地方

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM