模块 A 和 B 将软件包导出一些.package 到 Java 9 中的模块 C

2022-09-02 04:47:20

我有三个模块模块-a,模块-b和模块-c。当我运行我的应用程序时,我得到以下内容:

初始化引导层 java.lang.module.Resolution期间发生错误示例:模块模块-a 和模块-b 将包导出包 some.package 到 module module-c

考虑到module-c不导入,这意味着什么以及如何修复它?some.package


答案 1

看起来您已经创建了一个拆分包,这意味着两个模块(在您的例子中为模块 a模块 b)包含相同的包 ()。模块系统不允许这样做。如果将两个模块都放在模块路径上,则无论包是导出还是第三个模块依赖于其他两个模块,都将收到此错误。some.package

解决方法是,不要创建共享相同包的模块。这不仅是一个技术解决方案,它还通过确保每个模块具有特定且唯一的API来改进设计。


答案 2

推荐