【问题标题】:How to install javafx in IntelliJ on Mac?如何在 Mac 上的 IntelliJ 中安装 javafx?
【发布时间】:2020-06-29 15:26:56
【问题描述】:

我正在尝试在我的 intellij 软件上启动 javafx 项目,但我遇到了很多问题。我阅读了指南并被告知要下载我所做的 javafx-dsk,但是当我创建一个新项目并单击“添加 jdk”并选择 javafx 文件时,它告诉我“所选目录不是 JDK 的有效主目录” .有谁知道如何解决这个问题?顺便说一句,我是 Mac 用户。

【问题讨论】:

  • 你也安装了纯Java开发包吗?
  • JavaFX 不是 JDK,因为自 JDK 11 以来 JavaFX 已被分离。您将 IntelliJ 指向您的 Java JDK 位置,通常是 /Library/Java/JavaVirtualMachines/whateverJDKversionYouAreUsing/Contents/Home 并为 PATH_TO_FX 设置一个环境变量,指向您下载的位置您的 JavaFX 版本。您从未说过您使用的是 Maven、Gradle 还是什么……是模块化的还是非模块化的……

标签: java intellij-idea javafx installation


【解决方案1】:

tl;博士

here 所述,使用 Apache Maven 在 IntelliJ 中驱动您的项目。

使用这些 Maven 原型之一

https://github.com/openjfx/javafx-maven-archetypes

在您的 Maven POM 文件中,为插件添加一个条目。

<plugins>
    <plugin>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-maven-plugin</artifactId>
        <version>0.0.4</version>
        <configuration>
            <mainClass>HelloFX</mainClass>
        </configuration>
    </plugin>
</plugins>

并为 OpenFX 库的依赖项添加一个条目。

<dependencies>
  <dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>14</version>
  </dependency>
</dependencies>

安装JDK

首先,您必须在您的机器上安装 JDK。您正在开发的应用程序将使用该 JDK 作为其 JVM 运行。

顺便说一下,IntelliJ 本身就是一个 Java 应用程序。 IntelliJ 与它自己的 JVM 捆绑在一起,嵌套在它自己内部。所以 IntelliJ 不使用您的 JDK 来运行自己,而是使用您的 JDK 来运行您正在开发的应用程序。 Java 提供了一种机制,通过该机制,一个 JVM(运行 IntelliJ)中的调试器可以连接到另一个 JVM(您的应用程序在您下载的 JDK 的 JVM 中运行)。

这是我为帮助您选择 Java 实现的供应商而制作的流程图。

安装 JavaFX 库

接下来,您需要获取 JavaFX 的实现。

以前 Oracle 发布了一个实现。此实现与 Oracle JDK 产品的某些版本Oracle JDK 捆绑在一起。目前这些都不正确。

近年来,Oracle 将 JavaFX 项目开源为 OpenJFX。此源代码作为 OpenJDK 项目的子项目存放。 Gluon 公司正在推动 JavaFX 的未来发展。

您有 3 个选项来获得 JavaFX 技术的实现。这三个都源自 OpenJFX 源代码。

  • OpenJFX.io 站点手动下载。然后在 IDE 中手动配置项目以指向那些下载的库。
  • 使用依赖管理器(例如 Maven 或 Gradle)自动下载库的副本并将您的 IDE 指向该副本。这种方法是我个人使用的。
  • 正如本答案顶部讨论的您自己的 JDK,获取与 OpenJFX 库捆绑在一起的 JDK。我知道两个:Azul Systems 的 ZuluFX 和 BellSoft 的 LibericaFX。

我自己使用 Maven 方法。因此,我通过使用 Maven 上可用的 JavaFX 原型开始了一个新的 JavaFX 项目。使用直接 Java 代码的项目有一个原型。还有另一个使用 FXML 的项目原型。

有关将 Maven 与 OpenJFX 结合使用的说明,请参阅 this page

在您的 Maven POM 文件中,为插件添加一个条目。

<plugins>
    <plugin>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-maven-plugin</artifactId>
        <version>0.0.4</version>
        <configuration>
            <mainClass>HelloFX</mainClass>
        </configuration>
    </plugin>
</plugins>

并为 OpenFX 库的依赖项添加一个条目。

<dependencies>
  <dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>14</version>
  </dependency>
</dependencies>

部署

对于部署,除了您的应用程序类之外,您的用户还需要一个 JVM 和 JavaFX 实现。您可能希望将两者都包含在最终的应用程序包中。

或者,如果您确定您的用户有以下任一情况,您也可以只发布您的应用类:

  • 在自己的类路径上实现 JavaFX。
  • 安装了捆绑 JavaFX 实现库的 JVM。我列出了 上面有两个这样的产品。

资源

有关详细信息,请参阅:

【讨论】:

    【解决方案2】:

    JavaFX 是一个。您仍然需要常规的 JDK 才能使用它。如果您已经在 IntelliJ 中编写过 Java 程序,请使用您通常使用的 JDK。你不需要添加一个新的。相反,您需要将 JavaFX 作为库依赖项添加到您的项目中。

    【讨论】:

    • 是的,我安装了普通的 java jdk,因为 intellij 帮我解决了这个问题,但是如何将 javafx 作为库依赖项添加到项目中。
    • @JacksonEtherchainStake 见openjfx.io/openjfx-docs。点击左侧菜单中的 IntelliJ 链接。
    【解决方案3】:

    从命令行运行:

    brew install openjfx
    

    这在我的情况下有效。

    您可以找到有关 brew here 的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-17
      • 2018-07-02
      • 2013-02-01
      • 1970-01-01
      • 2020-03-17
      • 2019-10-13
      • 2020-10-10
      • 2016-04-13
      相关资源
      最近更新 更多