我们来解析 Java 9 为什么引入模块化系统
JPMS:所谓的“
classpath-party”有什么问题,模块如何在容器层面引入可见性边界,什么是
module-info.java,以及如何使用
module、
exports、
requires、
opens、
uses/
provides 指令。我们将讨论优势(封装、显式依赖、安全性、
jlink)、应用场景(包括
java.base、
java.sql)、一些有用的细节,以及迁移时的典型错误(忘记
exports、漏掉
requires、模块名重复)。