这不是重复的。我想在程序执行时获取当前的 JRE 版本。
为了测试结果,我安装了 JDK 8.91(未安装 JRE 8.91)和 JRE 8.77。我还创建了 JRE_HOME、JAVA_HOME 变量,排除了带有 JDK 文件夹的 Path 变量。
我的 Tomcat 使用 JRE,所以我想在启动它之前获取当前的 JRE 版本。我找到了如下解决方案:
System.getProperty("java.version")
执行后
System.out.println(System.getProperty("java.version"))
我得到的结果是 1.8.0_91
,而不是我想要的 1.8.0_77
。
但是,Oracle文档给出了这是JRE版本的定义。
链接:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperty%28java.lang.String%29
我该如何解决?
最佳答案
当您运行 Java 程序时,它总是在 JRE(Java 运行时环境)上运行。您不能直接在 JDK 上运行程序。
在安装Oracle的JDK时,会附带一个JRE,可以在JDK安装目录下的jre
目录下找到。
当您安装 Oracle 的 JDK 时,您可以选择安装“公共(public) JRE”。这是一个与 JDK 本身分开安装的 JRE,供浏览器插件使用。仅当您希望能够在浏览器中运行 Java applet 时才需要它。
关于java - 从系统属性获取 JRE 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37157480/