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.
Working documents
Main documents (read these first if you're new to the Project):
- Requirements
- The big picture (draft 1)
Additional documents:
- Module declarations (language and VM details)
- Modules and javac (pdf)
- Module-file format
- Module class loading and bootstrapping (pdf)
- Modular Services (pdf)
- Modular JAR files
- Native code
- Optional modules & methods
- Services
- Current javadoc
- Quick start guide
Early-access downloads
- jdk8.java.net/jigsaw/, and then see the quick start guide
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 massive, monolithic JDK
- Packaging Java code
- The Modular Java Platform
- Project Jigsaw
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.
- Requirements of a standard Java module system
- Project Jigsaw: Bringing the big picture into focus
Jigsaw was originally intended for Java 7 but was deferred to Java 8 as part of "Plan B". More recently a proposal was made to defer it to Java 9 in order to allow more time both for development and for broad review, testing, and feedback:
- Project Jigsaw: Late for the train
Community
- Mailing lists
- jigsaw-dev
- Bloggers
- Alex Buckley
- Jonathan Gibbons
- Mark Reinhold
- Paul Sandoz
This Project is sponsored by the Compiler Group.