java - 如何让 javafx 14 编译并运行?

标签 java javafx installation atom-editor

我目前正在尝试学习 javafx,但我遇到了我的笔记本电脑没有安装 javafx 的问题。我使用的是 Windows 10 机器,我目前安装了 jdk14,它工作正常,因为我最近一直在运行和编译 java 代码。我查遍了整个互联网,找不到任何指导我如何安装 javafx 的链接,我找到的所有链接都是安装它并使用 Eclipse、netbeans 和 intellij 等 IDE 运行它,但我使用的是atom进行我的编码。

我已经从here下载了最新版本的javafx 14我假设我必须将路径变量添加到 Windows 中的环境变量中,但我不确定这样做是否能让事情正常工作,所以我想我在这里发帖只是为了获得更多知识渊博的帮助。

我知道 jdk 7 或 jdk 8 内置了 javafx,但我想保留 jkd 14,因为我已经使用 jdk 14 编写了程序。

最佳答案

OpenJFX

首先,要知道 Oracle 已经开源了 JavaFX 的实现作为OpenJFX项目,OpenJDK 上的子项目项目。

JavaFX/OpenJFX 的进一步开发现在由公司 Gluon 领导。 OpenJFX 的开发非常活跃,版本 11、12、13、14 以及现在的预发行版 15 几乎与 Java 11、12、13、14 和 15 的版本同步推出。

我建议使用以下任一方法,而不是手动下载 JavaFX:

  • 获取捆绑了 OpenJFX 的 JDK
  • 使用依赖项管理器将 OpenJFX 自动下载到您的应用中

JavaFX 与 JDK 捆绑

将您的 Java 实现替换为捆绑 JavaFX 开源实现(称为 OpenJFX)的实现。 .

您至少可以找到两个这样的捆绑 JDK:

  • LibericaFX from BellSoft就是这样一种 Java 实现,基于 OpenJDK 项目。
  • ZuluFX 来自 Azul Systems ,宣布here 。提示:在下载页面上,使用Java Package弹出菜单选择JDK FXJRE FX。截至 2020 年 5 月,他们尚未发布 JavaFX bundle 的版本 14,但他们已经发布了 ZuluFX 版本 8、11 和 13。我建议 14 点后再回来查看,或者联系公司。 ZuluFX 是免费的,如果您有兴趣购买 JavaFX 支持,我们将邀请您进行交谈。

这是我制作的流程图,旨在帮助人们选择 Java 实现的供应商。注意到“OpenJFX 捆绑了吗?”靠近底部的分支。

Flowchart guiding you in choosing a vendor for a Java 11 implementation

Motivations in choosing a vendor for Java

OpenJFX 作为依赖项

我不知道 Atom 是否可以与依赖管理器一起使用,但供您引用......

配置您的构建工具,例如 MavenGradle自动下载 OpenJFX 并将其捆绑为依赖项。

对于 Maven,here是 Java 和 OpenJFX 版本 14 的 javafx-controls 当前 POM 配置。您可能还需要 JavaFX Maven 插件 Maven Mojo ( javafx-maven-plugin )。

下面是一个基于我当前 JavaFX 应用程序中真实 POM 的示例 POM。

<project xmlns = "http://maven.apache.org/POM/4.0.0"
         xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>work.basil.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>14</maven.compiler.source>
        <maven.compiler.target>14</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>14.0.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>14</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.4</version>
                <configuration>
                    <mainClass>work.basil.jartran.App</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

您可以使用 Maven archetype provided by the OpenJFX project 创建基于 Maven 的项目。上面看到的 POM 将会自动为您创建。您可能需要更新版本号。

关于java - 如何让 javafx 14 编译并运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61958356/

相关文章:

javaFX 在标签或微调器中存储数字格式

JavaFX - 将另一个类的属性绑定(bind)到状态栏

Qt::它可以做多小?

haskell - Cabal 无法在 OSX Lion 上安装 Idris 语言

java - 比较 JUnitTesting 中的 HashMap

java - 向矩阵/二维数组添加新列

java - 如何在不使用第三方库的情况下使 recyclerview 可扩展

java - 我怎样才能使这段代码更并发?

java - 按键事件未触发

installation - HOWTO 和最佳工作安装 (MSI) 链接器 +/ Bootstrap