启动层java.lang.module初始化期间出错。FindException:未找到模块javafx.controls

启动层java.lang.module初始化期间出错。FindException:未找到模块javafx.controls,java,intellij-idea,javafx,Java,Intellij Idea,Javafx,我试图在Intellij 2018.3 IDE中构建示例javaFX应用程序。我已经安装了OracleJDK11,并下载了openjfk11。我创建了一个链接到JavaFXSDK的库,并在VM选项行中添加了一行--module path=${path_to_FX}--add modules=javafx.controls,javafx.fxml。路径_到_FX定义为指向我的javaFX文件夹的环境变量 我在这个网站上搜索了很多帖子,包括。奇怪的是,如果没有构建目录,这个解决方案对我有效。但是,如

我试图在Intellij 2018.3 IDE中构建示例javaFX应用程序。我已经安装了OracleJDK11,并下载了openjfk11。我创建了一个链接到JavaFXSDK的库,并在VM选项行中添加了一行--module path=${path_to_FX}--add modules=javafx.controls,javafx.fxml。路径_到_FX定义为指向我的javaFX文件夹的环境变量


我在这个网站上搜索了很多帖子,包括。奇怪的是,如果没有构建目录,这个解决方案对我有效。但是,如果我已经构建了一次项目,它就会拒绝运行,并给出声明的错误。如果我删除构建目录并重试,那么程序将再次正常运行。

看来我只是在输出目录上搞错了什么,因为今天早上我尝试将构建路径重置为默认路径,它才开始工作。

尝试将路径添加到JavaFX SDK lib文件夹,而不仅仅是JavaFX SDK。 这对我有用

例:


*将“C:\javaFX\javaFX-sdk-11.0.2\lib”部分替换为指向javaFX sdk“lib”文件夹的路径。

如果在module-info.java中定义导出和打开,则不应使用VM路径。因为如果不显式定义模块,VM路径是必不可少的。然后IntelliJ在内部为我们创建了一个模块。

听起来您需要在运行应用程序时清理构建目录。IDE不应该为我处理这个问题吗?当我在命令行上构建时,我已经手动清理了构建目录,但在过去使用intellij时,我只需点击运行按钮即可重新运行我的程序。在我的例子中,intellij在
intellij->File->Settings->Appearance&Behavior->PATH Variables
中存储了错误的
PATH\u to\u FX
。更改/删除此路径修复了我的问题。
--module-path C:\javaFX\javafx-sdk-11.0.2\lib --add-modules javafx.controls,javafx.fxml