我是否正确使用新的模块系统?
是。你看到的是预期的行为,这是因为JPMS模块不允许拆分包。
如果你不熟悉术语“拆分包”,则它实际上意味着同一包的两个成员来自两个不同的模块。
例如:
com.foo.A(来自moduleA.jar)
com.foo.B(来自moduleB.jar)
我该怎么办?
你有两种选择:
- (更难)“取消拆分”程序包依赖项。但是,如果你不熟悉库的内部工作原理,则可能会很难或不可能
- (更容易)将两个jar组合成一个jar(因此也就成为一个自动模块),如上所述。我同意这不是一个“好的”解决方案,但是首先将拆分的软件包放在首位通常也不是一个好主意。
这些依赖关系是否阻止我进行更新,还是应该只等待rx更新其库?
希望rx最终会在将来的某个时候将其库更新为不包含拆分包。在此之前,我的建议是将两个jar一起捣成一个jar(选项2)。



