Project Jigsaw

The goal of this Project is to design and implement a simple, low-level module system focused narrowly upon the goal of modularizing the JDK, and to apply that system to the JDK itself. We expect the resulting module system to be useful to developers for their own code, and it will be fully supported by Sun for that purpose, but it will not be an official part of the Java SE 7 Platform Specification and it might not be supported by other SE 7 implementations.

For background, please see the following blog entries:

If you'd like to follow our progress—or, even better, contribute to the effort—please join us on the jigsaw-dev list.

This Project is sponsored by the Compiler Group.

Working documents

Relationship to JSR 294

The language, classfile, and VM extensions and modifications for this work are governed by the JCP Expert Group for JSR 294: Improved Modularity Support in the Java Programming Language. Working documents posted here should be considered as drafts of material subject to further discussion within that EG.

Anyone may follow, and comment upon, the JSR 294 EG's activity by subscribing to the JSR 294 Modularity Observer List.

Downloads

Alpha-quality binary packages are now available. Right now we're only publishing builds for Ubuntu, on Jaunty or later releases; over time we'll provide builds for other platforms.

These binaries are highly experimental. Download and use them at your own risk. If you do play with them, however, please send us feedback!

To install the packages add the following line to your /etc/apt/sources.list file: deb http://dl.openjdk.java.net jigsaw/

You'll also need to import the GPG key used to sign the packages, which is here, using the apt-key command or its equivalent.

The following packages will then be available for installation: jdk.boot, jdk.base, jdk.awt, jdk.swing, and jdk.tools.

These binaries are licensed under the GPL (v2) with the Classpath Exception, plus the Assembly Exception.

Community