我有三个模块module-a,module-b和module-c。当我运行我的应用程序时,我得到以下内容:
启动层初始化期间发生错误 java.lang.module.ResolutionException:Modules module-a和module-b 将package.package导出到模块module-c
考虑到module-c不导入some.package
以及如何修复它,这是什么意思?
答案 0 :(得分:5)
您似乎已经创建了split package,这意味着两个模块(在您的案例中为 module-a 和 module-b )包含相同的模块包(some.package
)。模块系统不允许这样做。如果将两个模块放在module path上,无论是否导出包,或者第三个模块是否依赖于另外两个模块,都会出现此错误。
修复方法是,不要创建共享相同包的模块。这不仅是一种技术解决方案,它还通过确保每个模块都具有特定且唯一的API来改进设计。