Project Jigsaw

The primary goals of this Project were to:

To achieve these goals we designed and implemented a standard module system for the Java SE 9 Platform and applied that system to the Platform itself and to its Reference Implementation, JDK 9. The module system is powerful enough to modularize the JDK and other large legacy code bases, yet is still approachable by all developers.

Now that we've delivered on these goals this Project will, going forward, host additional work to improve the module system and the modular platform as motivated by feedback from actual use.

This Project is sponsored by the Compiler Group.

Key documents, presentations, & other resources

Development history

Work on Project Jigsaw began in August 2008 with an initial exploratory phase. Work on the design and implementation for Java 9 began in 2014.

The reorganization of the source code (JEP 201) was merged into JDK 9 build 27, in August 2014.

The restructuring of run-time images to support modules (JEP 220) was merged into JDK 9 build 41, in December 2014.

JSR 376, for the Java Platform Module System, was approved by the JCP Executive Committee in December 2014.

The plan for encapsulating most internal APIs (JEP 260) was posted in August 2015.

The initial version of The State of the Module System, together with JEP 261 and the first early-access builds containing the prototype module system, were published in September 2015.

An initial list of open issues in the proposed specification was published in March 2016.

An updated version of The State of the Module System, with new material on compatibility and migration, was also published in March 2016.

The module system itself, specified by JSR 376 and implemented by JEP 261, was merged into JDK 9 build 111 in March 2016.

Work on Project Jigsaw completed in July 2017 and was delivered for general use as part of JDK 9 on 21 September 2017.

Last update: 2017/9/22 20:25 UTC