在Java程序中,我該如何讀取JAVA_HOME
變量(以確保它被設置爲正確的方式)? 同樣,如何獲得bin
文件夾的路徑?也就是說,該路徑通常爲Windows設置通過:檢查/從Java獲取JAVA_HOME變量
path %path%;%JAVA_HOME%\bin
注:我使用的是建立的OpenJDK通過Alexkasko。
在Java程序中,我該如何讀取JAVA_HOME
變量(以確保它被設置爲正確的方式)? 同樣,如何獲得bin
文件夾的路徑?也就是說,該路徑通常爲Windows設置通過:檢查/從Java獲取JAVA_HOME變量
path %path%;%JAVA_HOME%\bin
注:我使用的是建立的OpenJDK通過Alexkasko。
由於兩個PATH和JAVA_HOME環境變量,你應該能夠以類似的方式來閱讀這兩個它們的值:
String javaHome = System.getenv("JAVA_HOME");
String path = System.getenv("PATH");
嘗試
String javaHome = System.getProperty("java.home");
我得到: ''字符串JAVAHOME = System.getProperties( 「java.home」);'' ''^'' ''要求:沒有arguments'' ''發現:String'' ''原因:實際和正式的參數列表長度不同'''''''''''' ''1錯誤'' – antonio 2013-04-30 11:06:06
對不起,它是getProperty,而不是getProperties。 – Thilo 2013-04-30 12:08:49
謝謝,System.getenv(「JAVA_HOME」)不適用於我,因爲變量未導出(非環境變量) – golimar 2015-08-26 11:01:20
使用System.getenv()讀值。
System.getenv("JAVA_HOME");
你必須使用System.getenv("JAVA_HOME");
在Windows下你可以從你的應用程序執行set
命令,你會在你的CMD做的事後處理輸出:
Process p;
p = Runtime.getRuntime().exec("set JAVA_HOME");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
但作爲回答by others
System.getenv("JAVA_HOME");
woul d是更好的方式。
但是,如果有人需要替代方案,請參閱上文。 :d
*「我怎麼能讀」 *你想什麼功能通過了解? – 2013-04-30 10:13:59
@AndrewThompson:我使用的是便攜式R發行版,我也需要一個可移植的Java(爲了使用一些R-Java接口)。我將OpenJDK文件複製到portabla R文件夾中,然後我需要設置它們的路徑。 – antonio 2013-04-30 10:20:36