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

JDK10.0.1下JavaFX程序运行报错:相关包不存在求助

解决JDK 10.0.1下JavaFX包找不到的编译错误

这个问题我之前帮不少开发者排查过,核心原因是JDK 10中JavaFX已经采用模块化设计——它不再像JDK8那样直接暴露在默认的classpath里,而是作为独立模块存在。如果你的项目没有正确声明依赖这些模块,编译器自然找不到javafx.fxml、javafx.application这类包。下面给你几个靠谱的解决办法:

解决方案一:配置IntelliJ IDEA引用JDK自带的JavaFX模块

如果你想继续用JDK 10自带的JavaFX,按以下步骤操作:

  1. 打开IntelliJ IDEA,点击顶部菜单 File → Project Structure
  2. 切换到 Libraries 标签页,点击左上角的 + 号,选择 Java
  3. 找到你的JDK 10.0.1安装目录,进入jmods文件夹,选中以下几个必要的JMOD文件(根据你用到的包):
    • javafx.base.jmod
    • javafx.controls.jmod
    • javafx.fxml.jmod
    • javafx.graphics.jmod
  4. 切换到 Modules 标签页,在你的项目模块的 Dependencies 列表里,确认刚才添加的JMOD文件已经存在。如果你的项目是模块化项目(有module-info.java),需要在该文件中添加模块声明:
    module your.module.name {
        requires javafx.controls;
        requires javafx.fxml;
    }
    

解决方案二:通过Maven引入OpenJFX依赖(更推荐)

这种方式更灵活,也方便后续升级JDK版本。修改你的pom.xml文件,添加以下配置:

第一步:添加JavaFX依赖

<dependencies>
    <!-- JavaFX核心控件依赖 -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>10.0.1</version>
    </dependency>
    <!-- JavaFX FXML依赖 -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>10.0.1</version>
    </dependency>
</dependencies>

第二步:添加编译和运行插件

<build>
    <plugins>
        <!-- 配置Maven编译插件,指定JDK版本 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>10</release>
            </configuration>
        </plugin>
        <!-- JavaFX Maven插件,用于运行项目 -->
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.2</version>
            <configuration>
                <!-- 替换成你的主类全路径,比如com.example.Main -->
                <mainClass>your.main.class.path</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后,重新加载Maven依赖,编译运行应该就能解决问题了。

额外检查项

  1. 确认IntelliJ IDEA的项目SDK配置正确:进入Project Structure → Project,确保Project SDK选择的是JDK 10.0.1,而不是JDK 11+(JDK 11及以后Oracle JDK不再自带JavaFX)
  2. 如果你的项目是非模块化的(没有module-info.java),确保Maven编译时能正确识别JavaFX模块路径,上面的插件会自动处理这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:16:13