IntelliJ IDEA 2018.2、openjdk 11 和 openjfx 11(无 Maven,不是模块化项目):找不到模块 javafx.controls

Gil*_*les 5 java javafx intellij-idea openjfx javafx-11

我刚刚使用 openjdk 11 在 intelliJ 中创建了一个新的 JavaFX 项目,并在他们的网站上下载了最后一个 openjfx 库。

这是我所做的:

我已添加到运行/调试虚拟机选项:--module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml 虚拟机选项

我添加了一个新变量 env PATH_TO_FX :PATH_TO_FX=%programfiles%\Java\javafx-sdk-11\lib

所以它编译得很好,但在运行时失败:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
Run Code Online (Sandbox Code Playgroud)

有谁知道我在这里缺少什么?

PS:我已经关注此链接https://openjfx.io/openjfx-docs/#install-javafx

编辑 :

我这里应该有 onpenjfx 库吗?类路径

小智 5

由于 Java 11 启动器检查主类是否扩展了 javafx.application.Application,因此会显示此错误。如果是这种情况,则需要在模块路径上包含 javafx.graphics 模块。

  1. 添加虚拟机选项

要解决该问题,请单击“运行”->“编辑配置...”并添加以下 VM 选项:

--module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml

请注意,IntelliJ 创建的默认项目使用 FXML,因此需要 javafx.fxml 和 javafx.controls。如果您的项目使用其他模块,您还需要添加它们。 在此输入图像描述

单击应用并关闭对话框。

  1. 运行项目

单击“运行”->“运行...”来运行该项目,现在它应该可以正常工作了。