【问题标题】:Error: JavaFX runtime components are missing, and are required to run this application with JDK 11 [duplicate]错误:缺少 JavaFX 运行时组件,需要使用 JDK 11 运行此应用程序 [重复]
【发布时间】:2018-12-30 21:34:10
【问题描述】:

我正在尝试使用 IntelliJ 运行示例 JavaFX 项目,但它失败并出现异常:

Error: JavaFX runtime components are missing, and are required to run this application

我在这里下载了 JDK 11:http://jdk.java.net/11/ 我在这里下载了 OpenJFX:http://jdk.java.net/openjfx/ 我正在使用:IntelliJ IDEA 2018.2(社区版) 构建 #IC-182.3684.40,构建于 2018 年 7 月 17 日 JRE:1.8.0_152-release-1248-b8 amd64 JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM 视窗 10 10.0

我已经使用 JDK 11 在 IntelliJ 中创建了一个新的 JavaFX 项目。我的 JavaFX 类是未知的,所以我添加了 OpenJFX 库:

  • 文件 -> 项目结构 -> 模块 -> + -> 库 -> Java

我添加了 OpenJFX,其中包含“类”下方的 8 个 jar,以及“源”下方的文件夹以及“本机库位置”下方 bin 文件夹的路径。

当我在构建项目时,它很好,但无法运行它。

我做错了什么?

【问题讨论】:

  • 看看这个getting started 指南。查看编译和运行示例所需的所有配置。另请注意,您可以直接从 Maven Central 添加 JavaFX 依赖项。
  • 谢谢我已经关注它并且它确实有效。很奇怪,我不能直接从 IntelliJ 启动它...
  • 很高兴知道。一切都是 EA,但如果您可以从 IDE 运行模块,您应该能够配置项目以运行它。你用 pom.xml 试过了吗?
  • 是的,我确实创建了一个 Maven 项目,但无法通过 IntelliJ 运行它,只能从命令行运行。
  • 在 eclipse 上,有一个类似的问题(上下文略有不同):添加 --module-path 和 --add-module 作为已安装 jre 的 vm args 帮助

标签: java intellij-idea javafx openjfx


【解决方案1】:

这对我有用:

文件>>项目结构>>模块>>依赖>>+(在窗口左侧)

单击“+”号将让您指定解压 JavaFX 的“lib”文件夹的目录。

范围是编译(这是默认设置。) 然后,您可以通过双击该行将其编辑为 JavaFX。

然后在:

运行 >> 编辑配置

将此行添加到 VM 选项:

--module-path /path/to/JavaFX/lib --add-modules=javafx.controls

(哦,别忘了设置 SDK)

【讨论】:

  • JavaFX 11 不再与 JDK 捆绑在一起,它建立在 JDK 11 之上并且是一个独立的组件。只需观看有关如何集成它们的视频即可youtube.com/watch?v=qn2tbftFjno 您需要在此处下载独立的 JavaFx >>>> gluonhq.com/products/javafx 干杯
  • @Fanadez 视频实际上包含了精确的步骤,赞!
  • 如果您使用 Eclipse,请确保在使用 SWT 启动时也停用 () 使用 -XstartOnFirstThread 参数,否则将无法处理使用 JavaFX 的努力。 :)
  • --add-modules=javafx.controls 给了我 java.lang.module.FindException: Module javafx.controls not found
  • --module-path /path/to/JavaFX/lib --add-modules=javafx.controls,javafx.fxml ..... 如果您使用 fxml,只需添加 javafx.fxml。
猜你喜欢
  • 2013-01-17
  • 2019-03-25
  • 2022-01-17
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 2020-04-20
相关资源
最近更新 更多