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
相关产品推荐
相关产品推荐

