2013-05-06 75 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