【问题标题】:Installing JavaFX 15 on Mac在 Mac 上安装 JavaFX 15
【发布时间】:2020-07-17 22:10:40
【问题描述】:

我正在尝试在我的 Mac 上安装 JavaFX 15,但我卡住了。

运行 MacOS Mojave 10.14.6

我已经安装了 Java 13 JDK 并设置了 Home 文件夹,从 https://gluonhq.com/products/javafx/ 下载了 JavaFX SDK,我已经运行了代码“export PATH_TO_FX=/Users/.../javafx-sdk-15/ lib”在 Mac 终端中。

我正在使用 IntelliJ 进行编程,并尝试在项目结构 - 库中设置路径

但应用程序无法编译。

有人可以帮我吗?提前非常感谢!

【问题讨论】:

  • 请注意,JavaFX 的最新版本是版本 14,它是在上个月发布的。 JavaFX 15 目前处于抢先体验阶段(未来 5-6 个月)。

标签: java macos javafx javafx-11


【解决方案1】:

您需要注意与 macOS 上的 GUI 应用程序混合的环境变量。在终端中设置 PATH_TO_FX 可能没有设置 IntelliJ IDE 的值。您会注意到 https://openjfx.io/openjfx-docs/#IDE-Intellij 的说明明确提到在 IDE 中设置该值,而不是从终端。

我强烈建议使用 Gradle 或 Maven 以及 https://OpenJFX.io/ 中给出的代码示例作为起点。在调试 IDE 可能会做的不同的事情之前,请确认在命令行中构建工作正常。

您还可以安装包含 JavaFX 模块的 JDK。一些 OpenJDK 提供商有这样的构建。例如:

【讨论】:

    【解决方案2】:

    我的经验是homebrew-liberica 可以正常工作:

    brew tap bell-sw/liberica
    brew cask install liberica-jdk15-full
    

    【讨论】:

    • 在 Homebrew 3.2.8 上,我不得不使用: brew install --cask liberica-jdk8-full
    【解决方案3】:

    您可以使用终端或在 VS Code 中设置启动配置。

    要使用终端,您可以安装 Liberica 或从 Gluon(或 Early-Access build)下载 the latest JavaFX。要编译您的 *.java 文件,请确保在 CLI 上指定并设置 --module-path-cp 作为 javac 的命令参数。

    对于example,如果您将JavaFX SDK 下载到您的~/Downloads 目录(即,您下载JavaFX 16 并将其解压缩到您的普通Downloads 文件夹中),那么您将运行类似

    javac --module-path "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib/*" -cp "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib/*" -d . JavaFXThing.java
    

    然后,为了运行您的程序,您将使用:

    java --module-path "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib"  --add-modules javafx.controls,javafx.fxml JavaFXThing 
    

    在此处检查您需要为--add-modules 参数指定哪些模块:API documentation for JavaFX 15

    这是一个示例launch.json,用于在 VS Code 中启用调试启动:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "java",
                "name": "Launch JavaFX Class",
                "request": "launch",
                "vmArgs": "--module-path \"/Users/kevinmou/Downloads/javafx-sdk-16/lib\"  --add-modules javafx.controls,javafx.fxml",
                "mainClass": "${file}"
            }
        ]
    }
    

    对于 JDK,我建议将 Liberica 与 Homebrew 一起使用,因为它很容易保持最新(耶,Homebrew!?),并且 Liberica 负责路径和环境变量(包括 JavaFX)。要在 shell 中安装,请尝试:

    brew tap bell-sw/liberica
    brew cask install liberica-jdk15-full
    

    然后,更新

    brew update && brew cask upgrade
    

    【讨论】:

      【解决方案4】:

      DomQ 发布的第二条命令不正确:

      brew tap bell-sw/liberica

      brew install --cask liberica-jdk15-full

      【讨论】:

        猜你喜欢
        • 2013-02-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 2016-12-17
        • 1970-01-01
        • 2014-05-20
        • 2018-10-12
        • 2014-06-05
        相关资源
        最近更新 更多