以编程方式确定我的盒子上安装了哪些JDK / JRE

时间:2009-07-27 16:26:36

标签: java windows install

有没有标准的方法来做到这一点?我意识到这可能与平台有关。我们的产品现在只在Windows上支持 - 所以我想这就是我现在感兴趣的东西。我能想到的唯一事情是扫描注册表或抓取文件系统。扫描文件系统似乎需要很长时间 - 并且注册表可能不可靠。我应该两个都做吗?还有其他建议吗?我试图寻找一个API,但没有运气。

3 个答案:

答案 0 :(得分:34)

System.out.println(System.getProperty("java.version"));

其他属性here

答案 1 :(得分:3)

我首先要查找JAVA_HOME环境变量(可能是JDK_HOME,尽管这种情况不太常见),然后确定它是什么版本以及它是JDK还是JRE。

之后检查常见的位置。找出系统的程序文件目录(不要只假设它是C:\ Program Files,即使它是99.5%的时间)并在其下寻找常见的安装位置(例如Java)。

我不会进行详尽的搜索。

值得一提的是:你真的需要以这种方式找到JDK吗?难道你不能问用户他或她想要使用什么JDK,可能会建议你已经找到的任何简单的JDK?

答案 2 :(得分:1)

我可能会去寻找Java安装的注册表项并抓取默认位置进行安装(这不应该花太长时间)。

另一种方法是捆绑一个小型Java应用程序,该应用程序打印各种细节,例如正在运行的JVM。