模块A和B将包some.package导出到Java 9中的模块C

时间:2017-09-18 10:35:01

标签: java java-9 java-module

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

  

启动层初始化期间发生错误   java.lang.module.ResolutionException:Modules module-a和module-b   将package.package导出到模块module-c

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

1 个答案:

答案 0 :(得分:5)

您似乎已经创建了split package,这意味着两个模块(在您的案例中为 module-a module-b )包含相同的模块包(some.package)。模块系统不允许这样做。如果将两个模块放在module path上,无论是否导出包,或者第三个模块是否依赖于另外两个模块,都会出现此错误。

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