JEP! 511: Module Import Declarations

Just

import module java.base;

and you have String,List, Files, LocalDate etc. More incentives for lib creators to use modules

RUN:

Transitive dependencies :

  • if module M1 has requires transitive M4; then M4 contributes imports

  • if M1 has plain requires M5; then M5 does not contribute imports.

So for workshop, the short rule is:

import module M includes exported packages from M and from modules readable through requires transitive, but not from plain requires.

requires

module A { requires B; }

  • A can use B

  • BUT modules depending on A do NOT see B

Meaning: Dependency is internal (private)


requires transitive

module A { requires transitive B; }

  • A can use B

  • AND modules depending on A ALSO get B automatically

Meaning: Dependency is re-exported (public)

Conflict resolution

RUN :

Just old good manual import

Last updated