为什么 JavaFX 不能在 Homebrew 的 OpenJDK 17 下运行?

Why does JavaFX not work under OpenJDK 17 from Homebrew?

安装两个 OpenJDK and the Temurin casks(测试第一个,然后测试另一个)后,当 运行 来自终端的一个简单示例 javafx 应用程序时,我仍然会收到类似这样的错误:

Example.java:1: error: package javafx.application does not exist

在我看来,JavaFX 没有包含在 macOS 的 OpenJDK 中,至少是 Homebrew 版本,但它应该是。

我安装的版本是 17,在这两个方面。

我该怎么做才能解决这个问题? (我特别不想安装 Oracle 的 JDK,以避免未来高额的许可费用或潜在的诉讼,这是 Oracle 众所周知的。)

JavaFX 从未成为 Java 平台的官方部分。

有一段时间,Oracle 将 JavaFX 库与他们自己的 Oracle JDK 产品捆绑在一起,但后来停止了。这些库是额外的奖励,Java 规范不需要。

请记住,一些供应商提供 Java 实施。其中至少有两个提供了一个变体,其中包括实现 JavaFX 的 OpenJFX 库,如果这是您想要的:

  • Azul Systems 的 ZuluFX
  • 来自 BellSoft
  • 的 LibericaFX

我上次查看时,这两种产品都适用于 macOS,适用于 Intel Mac 和 Apple Silicon Mac。

或者,您可以在您的应用程序中捆绑 OpenJFX 库。