如何在jre1.8上运行 java11和jfx11应用

How to run java11 and jfx11 application on jre1.8

我是一名计算机专业的学生,​​我在一家公司实习期间,使用 JavaFX、maven 和 apache.poi 开发了一个小型 java 软件。

信息:该应用程序可在 Intellij 上运行并完美构建,我的问题涉及项目完成后生成的 *.jar

我先用了JDK14和JFX14,但是在执行的时候(java-jarxx.jar)报错说我在编译程序JAVA 58 (JAVA 14) 并且我使用的是 JRE 52 (JAVA 8)。

所以我修改了项目以使用 JDK 11 和 JFX 11 进行编译,现在我有同样的错误告诉我我正在 JAVA 55 中编译程序(JAVA 11) 并且我使用的是 JRE 52 (JAVA 8).

这个错误是因为我的电脑默认使用jre1.8。0_251。

所以我尝试以这种方式启动程序 "path_to_jdk11 \ bin \ java.exe" -jar xxx.jar 并且它有效。

这就是我的问题:

大多数用户使用 Oracle 站点上提供的 JAVA 版本,即 jre1.8.0_251,这是可用的最新版本。在我的程序之外需要 Java 11,这不是在公司 PC 上部署,我想。 我试图将我的项目移植到 java 8,但我在使用 Maven 和 module.info.java.

时遇到错误

您是否有部署 *.jar 或在 .exe 中部署它的技巧,以便它可以 运行 与拥有 jre1.8 的用户一起使用。0_251 ?

恭敬

不要试图建立一个胖罐子。它不适用于现代 Java。而是构建一个真正的安装程序。使用 JDK 14+ 可以轻松完成此操作。只需按照本教程 https://github.com/dlemmermann/JPackageScriptFX 进行操作,它涵盖了您需要的一切。这使用来自 JDK 14 的 jpackage 和它的一些其他工具,也适用于非模块化项目。安装 JDK 14 时,只需确保正确设置 JAVA_HOME 和路径,以便所有工具都能找到正确版本的 Java 进行构建。