2

由于用户可以在 Java 项目中指定与默认 JRE 不同的 JRE,有没有办法以编程方式查找项目构建路径上配置的 JRE 版本?

使用 Eclipse API,我可以通过类路径找到 JRE 的名称(但它是用户定义的,因此不能保证有关版本的信息),但是从那里我看不到提取有关版本的信息的方法。

上下文是我在 Eclipse 中启动 java 程序之前进行验证,这将需要使用特定 java 版本编译的附加文件。我需要验证用户是否为该项目选择了与其兼容的 JRE。我可以执行 java.version 以在系统中找到默认版本,但不能保证该人没有特别为该项目选择不同的版本。

提前致谢。

4

2 回答 2

2

以编程方式找到它:

System.getProperty("java.version")

或者,在 ant (build.xml) 或 maven (pom.xml) 中为:${java.version}

另请参阅http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

于 2013-01-29T20:08:37.943 回答
1

尝试java -version使用配置的 JRE 中的可执行文件从控制台运行。它不能直接从 Eclipse 获得,但它应该可以解决问题。

您可以在“运行配置”中选择要使用的 JRE。默认情况下,它将使用项目“构建路径”中配置的库。此选项在首选项中选择(默认)JRE 或执行环境。您可以使用.jars 的位置来查找 JRE 的位置。

您可以在 Eclipse 首选项中找到已安装的 JRE(包括位置)和执行环境的配置:首先打开“Java”,然后打开“已安装的 JRE”。这应该向您显示位置。

[笔记]

通常您选择一个执行环境,然后配置运行时以配合它,尽管您应该注意,如果您选择一个执行环境而不是直接指向 JRE,您可以访问所有必需的组件。

于 2013-01-29T19:53:41.660 回答