如何在Mac上的IntelliJ中安装javafx?

时间:2020-06-29 15:26:56

标签: java intellij-idea javafx installation

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

3 个答案:

答案 0 :(得分:2)

tl; dr

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。我列出了 上面有两个这样的产品。

资源

有关更多信息,请参见:

答案 1 :(得分:0)

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

答案 2 :(得分:0)

从命令行运行:

 1. Clear browser data in Microsoft  :
 2. Press the keys [Ctrl], [Shift] and [Del].
 3. A new window opens. Select an option like clear images and files on the cache.
 4. Confirm your selection by clicking on the "delete" button

这对我来说很有效。

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