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

JDK17下Maven+Jigsaw项目javafx.embed.swing包不可见问题解决

Maven+Jigsaw项目中javafx.embed.swing包不可见问题的解决办法

作为Maven新手,我最近在搭建一个结合Jigsaw模块的新项目时,需要引入这段代码:

private javafx.embed.swing.JFXPanel jFXPanel1;

结果碰到了javafx.embed.swing包无法访问的问题,折腾了好一阵才搞定,把过程分享给大家:

  • 最初的尝试——添加依赖无效
    我第一反应是在pom.xml里添加javafx-swing的依赖:

    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-swing</artifactId>
        <version>19</version>
    </dependency>
    

    但添加后完全没效果,执行mvn clean install时还弹出错误:

    package javafx.embed.swing is declared in the unnamed module, but module com.my.module does not read it

  • 发现依赖包的问题
    我去本地Maven仓库(m2目录)查看下载的JAR文件,发现普通的javafx-swing JAR里只有清单文件,根本没有.class文件!反而带win后缀的分类器JAR才包含javafx.embed.swing包,但IntelliJ并没有自动识别这个带分类器的JAR。

  • 最终解决方法
    抱着试试看的心态,我操作了IntelliJ的缓存清理:点击File -> Invalidate caches,然后重启IDE。没想到重启后,依赖居然正常加载了,模块也能成功引入javafx.embed.swing包,问题彻底解决!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:15:57