【发布时间】:2016-05-11 08:49:03
【问题描述】:
这不是重复的。我想在程序执行时获取当前的 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 上运行的程序之类的东西。 JRE 版本 8 更新 91 包含在 JDK 8 更新 91 中。安装 JDK 时,始终包含 JRE。在你的 JDK 主目录中有一个
jre目录。 -
@Jesper 我明白这一点。在安装 JDK 时,我可以选择是否安装 JRE。我也没有看到安装了 JRE 8.91。
-
我不清楚你的问题到底是什么。什么不符合您的预期,您想解决什么问题?
-
安装 JDK 时,您可以选择安装 public JRE,它是独立于 JDK 的 JRE 安装。但是即使不安装公共 JRE,JDK 目录中仍然包含一个 JRE。
-
@Jesper 这让我很清楚,谢谢。请将其发布为答案
标签: java