You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ新建JavaFX项目运行报InvalidModuleDescriptorException错误求助

报错根因

这是JDK 9+引入的Java平台模块系统(JPMS)和IntelliJ默认Kotlin-Gradle项目的编译路径配置不兼容导致的:

  • IntelliJ 2021.2版本搭配JDK 16新建项目时,会默认生成module-info.java模块描述文件,该文件声明了需要暴露com.example.demo包
  • Kotlin代码默认编译输出路径为build/classes/kotlin/main,但JPMS默认只会扫描Java代码的编译路径build/classes/java/main,找不到对应包就会抛出InvalidModuleDescriptorException异常
解决方案

按适用场景优先级排序如下:

方案1(最快捷,无需模块特性时首选)

直接删除项目根目录下src/main/java/路径里的module-info.java文件,不需要用到JPMS模块特性的场景下,完全可以避开模块校验。修改后重新执行Gradle的clean、build任务,再点击运行即可正常启动。

方案2(需要保留模块系统特性时修改Gradle配置)

打开项目根目录的build.gradle.kts文件,添加配置将Kotlin编译输出路径加入Java模块扫描路径:

sourceSets.main {
    java.setSrcDirs(listOf("src/main/kotlin"))
}

tasks.withType<JavaCompile> {
    options.javaModulePath.set(files(
        sourceSets.main.get().kotlin.outputDirectory,
        sourceSets.main.get().java.outputDirectory
    ))
}

修改后同步Gradle配置,重新构建项目即可。

方案3(临时调整运行配置)

点击main函数旁运行按钮的下拉箭头,选择「修改运行配置」:

  1. 点击「修改选项」,勾选「添加VM选项」
  2. 在VM选项输入框中填入对应内容:
    • Mac/Linux系统:--module-path build/classes/kotlin/main:build/classes/java/main
    • Windows系统:--module-path build\classes\kotlin\main;build\classes\java\main
  3. 保存配置后重新运行即可

内容的提问来源于stack exchange,提问作者RadekJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:54:02