知道 Java 版本(例如 1.6.0_31)我如何以编程方式(从 Java 程序中)找到相应的 JRE 在 Windows 机器上的磁盘上的位置?
问问题
224 次
4 回答
2
它应该可以通过读取java.home
系统环境变量的值来获得。请参阅 http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html。
但请记住,安全管理器可能会从上面的链接中阻止您:
安全注意事项:安全管理器可以限制对系统属性的访问。这通常是小程序中的一个问题,它无法读取某些系统属性,也无法写入任何系统属性。有关在 applet 中访问系统属性的更多信息,请参阅 Doing More With Java Rich Internet Applications 课程中的系统属性。
于 2012-09-05T12:51:37.343 回答
1
System.getProperty("java.home");
将为您返回运行该程序的 JRE 的安装目录。
另请查看以下链接以获取更多信息:http ://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
于 2012-09-05T12:51:57.877 回答
1
您可以查看当前系统属性值java.home
:
String installDirOfJRE = System.getProperty("java.home");
根据您可以预期(但只是预期)的返回值,其他版本的 JRE可能位于同一父文件夹中,因此您可以尝试搜索您想要查找的版本。
恐怕没有别的选择了……
于 2012-09-05T12:53:35.410 回答
1
System.getProperty("java.runtime.version");
为您提供执行 VM 的版本。
于 2012-09-05T12:53:38.430 回答