Java模块化开发:JavaFX项目引用库时出现ResolutionException求助
解决方案:JavaFX模块化项目包冲突问题
问题根源
错误提示的核心是模块org.kasburn.moduleB包含了JavaFX官方模块javafx.graphics已声明的包javafx.concurrent。Java模块化系统要求同一个包只能属于一个模块,重复声明会触发模块解析失败。
修复步骤
- 检查库项目B的源码目录(通常是
src/main/java),确认是否存在javafx.concurrent包。如果有,将该包下的所有类迁移到你自己的自定义包中(比如org.kasburn.moduleB.util.concurrent),然后删除这个与JavaFX重名的包。 - 如果是依赖配置错误导致项目B中混入了JavaFX的包文件,清理项目B的Gradle依赖,确保没有手动引入或打包JavaFX的内部包。
- 同步Gradle项目后,重新运行项目A的
main任务。
补充说明
你尝试的transitive关键字仅用于控制依赖的传递性,而当前问题属于包所有权冲突,和依赖传递无关,所以这个关键字无法解决问题。
内容的提问来源于stack exchange,提问作者Kasburn
相关产品推荐
相关产品推荐

