4

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

这是我所做的:

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

我添加了一个新变量 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

有谁知道我在这里想念什么?

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

编辑 :

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

4

2 回答 2

4

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

  1. 添加虚拟机选项

要解决此问题,请单击 Run -> Edit Configurations... 并添加以下 VM 选项:

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

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

单击应用并关闭对话框。

  1. 运行项目

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

于 2018-11-20T07:55:27.187 回答
3

要解决此问题,请单击 Run -> Edit Configurations... 并添加修改路径变量,如下所示:

--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml
于 2018-12-03T22:48:22.100 回答