2013-07-23 34 views
1

我需要通過C#獲取Java路徑的最佳方式。目前我是這樣做的:在C中找到java路徑的最佳方法#

public String getJavaPath() 
{ 
    String javaKey = "SOFTWARE\\JavaSoft\\Java Runtime Environment"; 
    using (var baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(javaKey)) 
    { 
     String currentVersion = baseKey.GetValue("CurrentVersion").ToString(); 
     using (var homeKey = baseKey.OpenSubKey(currentVersion)) 
     return homeKey.GetValue("JavaHome").ToString(); 
    } 
} 

但是這不適用於每臺計算機。你們有沒有人知道一個更好的方法來獲得路徑?

+0

沒有Java的電腦怎麼樣? (順便說一句,我覺得它很有趣你使用C#來獲得Java的路徑)**編輯** [這可能有所幫助](http://stackoverflow.com/a/3930458/1324033) – Sayse

+0

不要!!!這是邪惡的:) –

+0

使用我的工具的人將安裝Java。 – user2612374

回答

0

繼Java的理念,不存在 「的Java路徑」。有可能是一個JAVA_HOME路徑。有可能是註冊表中的東西。但它不像.NET框架,它安裝在特定位置或不在。

因此,要回答您的問題,獲取Java路徑的「最佳途徑」是詢問用戶他的Java安裝所在的路徑,如果他沒有設置JAVA_HOME。不要忘記檢查bin\java.exe文件的路徑,如果該文件不存在,則拒絕路徑。

相關問題