为什么 JavaFX 无法在 Homebrew 的 OpenJDK 17 下工作?

Tin*_*Man 0 java homebrew javafx homebrew-cask adoptopenjdk

安装OpenJDKTemurin桶(测试第一个,然后测试另一个)后,在从终端运行一个简单的示例 javafx 应用程序时,我仍然遇到这样的错误:

Example.java:1: error: package javafx.application does not exist
Run Code Online (Sandbox Code Playgroud)

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

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

我可以做什么来解决这个问题?(我特别不想安装 Oracle 的 JDK,以避免未来高额的许可费用或潜在的诉讼,而 Oracle 以此而闻名。)

Bas*_*que 5

JavaFX 从来都不是 Java 平台的正式组成部分。

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

请记住,有几个供应商提供了 Java 实现。其中至少有两个提供了一个变体,其中包含实现 JavaFX 的 OpenJFX 库(如果您需要的话):

  • ZuluFX由 Azul Systems 提供
  • 来自 BellSoft 的LibericaFX

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

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