Vamos analisar por que o Java 9 trouxe o sistema de módulos
JPMS: o que há de errado com a “classpath party”, como os módulos introduzem limites de visibilidade no nível do contêiner, o que é o
module-info.java e como trabalhar com as diretivas
module,
exports,
requires,
opens,
uses/
provides. Vamos discutir as vantagens (encapsulamento, dependências explícitas, segurança,
jlink), onde aplicar (incluindo
java.base,
java.sql), nuances úteis e erros típicos na migração (um
exports esquecido, um
requires omitido, nomes de módulos duplicados).