IntelliJ运行JavaFX项目报错:boot层初始化找不到javafx.controls模块如何解决?
问题原因
你当前的运行配置里--module-path参数使用了未替换的占位符路径\path\to\javafx-sdk-17\lib,JVM无法找到实际的JavaFX模块文件,所以抛出找不到模块的错误。
修复步骤
- 首先确认你本地JavaFX SDK的实际路径,从你贴的类路径能看到你已经下载了SDK,路径是
C:\Users\yozsh\Downloads\openjfx-17.0.1_windows-x64_bin-sdk\javafx-sdk-17.0.1\lib,直接复制这个路径备用。 - 打开IntelliJ顶部菜单栏「运行」→「编辑配置」,找到你当前运行JavaFX项目的配置项。
- 找到「VM选项」输入框,把原来的
--module-path \path\to\javafx-sdk-17\lib --add-modules javafx.controls,javafx.fxml里的路径替换成你刚才复制的实际路径,替换后内容为:
--module-path "C:\Users\yozsh\Downloads\openjfx-17.0.1_windows-x64_bin-sdk\javafx-sdk-17.0.1\lib" --add-modules javafx.controls,javafx.fxml,org.controlsfx.controls,org.kordamp.bootstrapfx.core
注意路径带空格的话必须加双引号包裹,同时你项目依赖了controlsfx和bootstrapfx,需要把这两个模块也加到add-modules列表里,避免后续再报模块找不到错误
- 如果你是用Maven管理依赖,还可以直接删除手动配置的VM选项,在pom.xml里添加javafx-maven-plugin插件,配置模块参数后直接通过插件运行,不需要手动配置路径:
<plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <configuration> <mainClass>com.example.beluxfx/com.example.beluxfx.HelloApplication</mainClass> </configuration> </plugin>
- 修复完成后重新运行项目即可。
- 如果module-info.java里还有红下划线,右键项目名→「Maven」→「重新加载项目」,刷新依赖索引即可。
内容的提问来源于stack exchange,提问作者Bogger
相关产品推荐
相关产品推荐

