requires and exports
Control dependencies and visibility.
Controlling the Module Graph
Two directives shape the module graph: requires declares what you depend on, and exports declares what you reveal.
This lesson explores their variants and the readability/accessibility rules they create.
Plain requires
A simple requires X; means "this module reads module X." Your code can use X's exported public types, but consumers of your module learn nothing about X.
module com.example.app {
requires java.sql;
}All lessons in this course
- module-info.java
- requires and exports
- Services with provides/uses
- Migrating to Modules