Page tree
Skip to end of metadata
Go to start of metadata

Also called JPMS, Jigsaw, or "Java 9 Module System". See the Wikipedia entry:

Java 9 introduced the module system. See OpenJDK's command-line "quick start" guide for an in depth explanation.


Links to Documentation and Tools




Official Gradle guide:

Official Gradle plugin:

Open issue for "jigsaw support":

Third-party solutions (111 stars) (70 stars) (10 stars) (5 stars)


OpenJFX maintains a Gradle plugin for using JavaFX as modules:

JLink can distribute you application taking advantage of JPMS.

Gradle plugin: (107 stars)

The src/<source set>/java/ files define modules. The file has a special language specific files. file looks like this:

module your.module {
   requires com.socket;
   exports us.other.module;
   uses some.module.Provider;
   provides com.socket.spi.NetworkSocketProvider
            with org.fastsocket.FastNetworkSocketProvider;

The module path

The short story is that there is a new path called the module path. This path exists on top of the classpath we are used to. The canonical classpath is now called "the unamed module". That is, all code without files operates as it did in Java 8. See this Stack Overflow answer for more details.

  • No labels