【问题标题】:Maven can't find JavaFXMaven 找不到 JavaFX
【发布时间】:2019-05-27 04:58:08
【问题描述】:

在 Maven 上构建失败: 包 javafx.application 不存在

我使用的是 JDK 8,因为 JDK 11 默认不包含 JavaFX。

我的 pom 文件中列出了 openjfx 作为依赖项。

我将JAVA_HOME 设置为:

$JAVA_HOME
bash: /usr/lib/jvm/java-8-openjdk-amd64: Is a directory

是否需要设置环境变量才能让 Maven 找到 JavaFX jar?

这里是终端输出和pom文件

【问题讨论】:

  • 您说您使用的是 JDK 8,因为 JDK 11 不包含 JavaFX。但据我所知,您似乎正在使用从未包含 JavaFX 的 Linux 和 OpenJDK 8。最重要的是,您正在尝试将 OpenJFX 11 与 Java 8 一起使用;那是行不通的。
  • 转到 JDK 11 并按照此处的说明进行操作:openjfx.io/openjfx-docs/#maven

标签: java maven intellij-idea javafx openjfx


【解决方案1】:

您的 Maven 仍然使用 JDK 11。

试用适用于 Linux 的 Oracle JDK 8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 或者您可以从 Linux 中的软件存储库安装。

尝试删除,卸载JDK 11的所有东西(然后仔细检查环境变量,通过命令java -versionjavac -version检查以确保您使用的是JDK 8)。

清理 (mvn clean) 并重新构建项目。

【讨论】:

    【解决方案2】:

    您正在尝试使用为版本 54(根据 https://en.wikipedia.org/wiki/Java_class_file#General_layout 为 Java 10)编译的文件,而您使用的 Java 8 不理解任何高于 52 的版本。

    您不能将此基于 javafx 的工件与 Java 8 一起使用。请修改您的代码或至少升级到 Java 10。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 2012-01-07
      相关资源
      最近更新 更多