模块 A 和 B 在 Java 9 中将包 some.package 导出到模块 C
Modules A and B export package some.package to module C in Java 9
我有三个模块 module-a、module-b 和 module-c。当我 运行 我的应用程序时,我得到以下信息:
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules module-a and module-b
export package some.package to module module-c
这是什么意思,考虑到 module-c 不导入 some.package
以及如何修复它?
看起来你已经创建了一个split package, meaning two modules (module-a and module-b in your case) contain the same package (some.package
). The module system does not allow that. If you place both modules on the module path,无论包是否被导出或者第三个模块是否依赖于另外两个,你都会得到这个错误。
解决方法是,不要创建共享同一包的模块。这不仅是一种技术解决方案,它还通过确保每个模块都有特定且唯一的 API.
来改进设计
我有三个模块 module-a、module-b 和 module-c。当我 运行 我的应用程序时,我得到以下信息:
Error occurred during initialization of boot layer java.lang.module.ResolutionException: Modules module-a and module-b export package some.package to module module-c
这是什么意思,考虑到 module-c 不导入 some.package
以及如何修复它?
看起来你已经创建了一个split package, meaning two modules (module-a and module-b in your case) contain the same package (some.package
). The module system does not allow that. If you place both modules on the module path,无论包是否被导出或者第三个模块是否依赖于另外两个,你都会得到这个错误。
解决方法是,不要创建共享同一包的模块。这不仅是一种技术解决方案,它还通过确保每个模块都有特定且唯一的 API.
来改进设计