Java 查找在生成路径上配置的JRE版本(以编程方式)

Java 查找在生成路径上配置的JRE版本(以编程方式),java,eclipse-plugin,Java,Eclipse Plugin,由于用户可以在Java项目中指定不同于默认JRE的JRE,因此有没有任何方法可以通过编程方式找到在项目构建路径上配置的JRE版本 通过使用EclipseAPI,我可以通过类路径找到JRE的名称(但它是用户定义的,因此不保证关于版本的信息),但是从那里我看不到提取关于版本信息的方法 上下文是我在Eclipse中启动java程序之前进行验证,这将需要使用特定java版本编译额外的文件。我需要的是验证用户是否为该项目选择了与其兼容的JRE。我可以使用java.version在系统中查找默认版本,但不能

由于用户可以在Java项目中指定不同于默认JRE的JRE,因此有没有任何方法可以通过编程方式找到在项目构建路径上配置的JRE版本

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

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


提前感谢。

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

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

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

[注]

通常,您会选择一个执行环境,然后将运行时配置为与之配套,但如果您选择的是执行环境,而不是直接指向JRE,则应注意可以访问所有必需的组件。

要以编程方式查找它:

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


另请参见

好的,在配置的JRE中使用可执行文件运行
java-version
肯定会达到目的。在应用程序中,您可以检查系统属性…这可能会起作用。花了太多时间搜索EclipseAPI,甚至没有想到更简单的解决方案。谢谢!:)不客气,我回答了这个问题,因为我不明白为什么这不起作用……这只会给我默认JRE/JDK的版本——但是可能会安装多个,您可以为您的eclipse项目定义一个不同的版本。作为Eclipse插件的上下文,也许我应该更清楚地说明这一点。当您从程序中运行它时,它将为您提供该程序正在使用的JRE/JDK版本。这将提供您正在运行的程序正在使用的版本。如果您想知道构建工具正在使用什么,可以在ant或maven中以${java.version}的形式访问它。谢谢您的建议,但它们并不真正适用于我需要的内容。在启动java程序之前,我正在进行验证(这将需要使用特定java版本编译额外的文件)。我需要的是验证用户是否为该项目选择了与其兼容的JRE。我可以使用java.version在系统中查找默认版本,但不能保证用户没有为该项目选择其他版本。我将用这些细节更新我的问题。
System.getProperty("java.version")