.exe 文件仅使用 Java Dev Kit 运行,而不是使用 Java 运行时环境

问题描述

所以我最近为高中班级制作了一个小应用程序,我希望它能够在安装和更新 JRE 的任何 Windows 计算机上运行。

我在 Eclipse 中制作了应用程序,将其导出为可运行的 JAR 文件(确保在库处理下选择了“将所需的库打包到生成的 JAR 中”),然后使用 launch4j 将其转换为可执行文件。当我第一次制作 exe 时,根据 JRE 规范,我将最小 JRE 版本设置为 1.8.0 并且我最初选择了一个选项,上面写着“首选公共 JRE,但如果更新则使用 JDK 运行时”,没有考虑任何事情.这个 exe 在我的电脑上运行得非常好,所以我把它发给了几个朋友让他们测试,但它不起作用。

结果是 exe 使用我的 JDK 版本运行,而不是使用 JRE。我再次尝试制作可执行文件,这次选择了“仅使用公共 JRE”选项。当我这次构建可执行文件时,它也不会在我的计算机上运行,​​即使我安装了最新的 JRE 版本,所以我显然认为以某种方式构建了可运行的 JAR 文件而无法使用 JRE 来运行JDK的。

我查看了 eclipse 的导出选项,但据我所知,在导出可运行的 jar 文件以更改其运行方式时,我无法进行任何更改。

任何帮助将不胜感激。

解决方法

好的,在深入研究一个项目的设置后,我想出了如何让它工作。

您需要右键单击您在 Eclipse 中处理的项目。 属性 > Java 编译器

在JDK合规性下,您需要取消选中“从执行环境中使用合规性 “Java 构建路径”上的“JavaSE-14”

然后在“编译器合规级别:”下,您需要单击下拉菜单并选择 1.8。

之后,您可以将其导出为可运行的 JAR,然后将其转换为 .exe,一切都会正常运行!