Project Jigsaw

The goal of this Project is to design and implement a standard module system for the Java SE Platform, and to apply that system to the Platform itself and to the JDK.

Right now this effort is in an exploratory phase in which we are investigating and prototyping various ideas in the context of an in-progress requirements document. That document, together with the overall Jigsaw design, will be among the starting points of an eventual Java Platform Module System JSR.

You can follow our work, and get involved in it, on the jigsaw-dev list.

A related Project, Penrose, is exploring interoperability between Jigsaw and OSGi.

Working documents

Main documents (read these first if you're new to the Project):

Dashboards:

Additional documents:

Early-access downloads

History

The original goal of this Project was to design and implement a module system focused narrowly upon the goal of modularizing the JDK, and to apply that system to the JDK itself. We expected the resulting module system to be useful to developers for their own code, and it would have been fully supported for that purpose, but it was not at the outset intended to be an official part of the Java SE Platform Specification.

For background on this initial phase, please see the following blog entries:

The growing demand for a truly standard module system for the Java Platform motivated expanding the scope of the Project, as described above, to produce a module system that can ultimately become a JCP-approved part of the Java SE Platform and also serve the needs of the ME and EE Platforms.

Jigsaw was originally intended for Java 7 but was deferred to Java 8 as part of "Plan B". More recently a decision was made to defer it to Java 9 in order to allow more time both for development and for broad review, testing, and feedback:

Community

This Project is sponsored by the Compiler Group.