Java 8 + JavaFX on macOS: "ERROR: JavaFX runtime components are missing, and are required to run this application."

Java 8 + JavaFX on macOS: "ERROR: JavaFX runtime components are missing, and are required to run this application."

我的 JavaFX 应用程序在 Windows 上完美运行,我有 Java 1.8.0_221。该应用程序是一个包含 jfxrt.jar 的胖罐子,因此所有 JavaFX 库都应该在里面。

但是,当我尝试在 macOS 上 运行 相同的 jar(仍然是 Java 8)时,它无法启动,我收到以下错误消息:Error: JavaFX runtime components are missing, and are required to run this application.

我该怎么做才能解决这个问题?为什么它在操作系统之间表现不同?非常感谢您的帮助!

注意:我知道以前有其他用户问过这个错误信息,但我的错误是在Java8上,没有连接到Java 11/OpenJFX 11 - 因此,我认为原因不同,不应将其标记为重复。

我不知道你如何支持你的假设,但我想说现在大多数用户根本没有安装 Java。现代趋势是将 Java 与应用程序捆绑在一起,以便您可以像任何其他应用程序一样分发它,然后坚持使用 Java 的过时版本就没有任何意义了。请参阅此处 https://github.com/dlemmermann/JPackageScriptFX 如何做到这一点。