2013-05-06 70 views
0

我有一個動態加載jvm.dll的應用程序,因此我需要知道DLL駐留的位置。目前我正在嘗試標準位置,如C:\Program Files\Java\jdk...\jre\bin\server\jvm.dll。然而,這是非常繁瑣和容易出錯的(由於版本號等原因)和更復雜的解決方案需要我的應用程序中的一些智能來確定正確的路徑。在最糟糕的情況下,我最終要求用戶指定jvm.dll所在的位置。在windows中查找JDK的安裝目錄

在Mac OS X上,有一種方法可以在Linux上使用/ usr/libexec/java_home來查找Java Home目錄。我基本上只需查找javac所在的位置和符號鏈接。有沒有類似的簡單而充分的方法來查找JDK的位置,而沒有嘗試錯誤,搜索整個文件系統或詢問用戶?

這個問題不是關於配置我的系統,使javac在我的路徑或類似的東西。我想以編程的方式找到JDK(或JRE)在一個典型的錯誤配置的windows系統中的位置,這個系統有一些錯誤的路徑變量和糟糕的目錄結構。

回答

2

在Windows 7中,有一個DOS命令可以讓你獲得系統上java的安裝目錄。嘗試下面的命令。

where java 
+0

至少在我的系統上,java安裝在C:\ Windows \ System32中,而jvm.dll是* not *那裏。這並不能解決我的問題,即找到庫和頭文件所在的JDK/JRE安裝目錄。 – scravy 2013-05-07 01:16:55

+0

我已經安裝了Windows 7,並且在我的系統上執行java時,它顯示了System32中的java以及我的jdk安裝。我無法確定在執行相同命令時其他Windows版本顯示的內容。 – Adarsh 2013-05-07 01:45:58

+0

哈!非常感謝您提供Where實用程序的提示!雖然最初它不是我想要的,但我發現了/ R標誌,以遞歸方式搜索文件系統。儘管這是「搜索整個文件系統」,但對我來說這已經足夠了:-) – scravy 2013-05-07 14:49:17