在开发 Java 库时,我们目前使用 Apache Maven Shade 插件通过重命名其他库(jar)的包名来隐藏对其他库(jar)的内部依赖。是否可以通过使用 Java 9 模块系统而不导出内部使用的库的名称来隐藏这些内部库依赖项?IE:模块 A 和 B 都包含但不导出类 org.codehaus.jackson.map.ObjectMapper(使用例如 Maven Shade 插件包含)具有不同版本的类模块 A 使用模块 B每个模块还会使用它的实现 org.codehaus.jackson.map.ObjectMapper 吗?我相信它应该如此,但我没有找到明确证实这一点的文档,也没有任何文本/示例为这个非常常见的版本控制问题推荐这种方法。
添加回答
举报
0/150
提交
取消